01:48:00.892 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:48:22.349 [info] {"source":"oban","duration":1019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:52.351 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.893 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:49:22.353 [info] {"source":"oban","duration":1042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:52.355 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.894 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:50:22.357 [info] {"source":"oban","duration":1130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:52.359 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.895 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:51:22.361 [info] {"source":"oban","duration":1010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:52.363 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.896 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:52:22.365 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:52.367 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.897 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:53:22.369 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:52.371 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.898 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:54:22.373 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:52.375 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.899 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:55:22.377 [info] {"source":"oban","duration":1002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:52.379 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.900 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:56:22.381 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:52.383 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.901 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:57:22.385 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:52.387 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.902 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:58:22.389 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:52.391 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.903 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 01:59:22.393 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:52.395 [info] {"source":"oban","duration":1026,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.904 [info] {"source":"oban","duration":370,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:00:22.401 [info] {"source":"oban","duration":5167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":4} 02:00:52.403 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.905 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:01:22.405 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:52.407 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.906 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:02:22.409 [info] {"source":"oban","duration":1010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:52.411 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.907 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:03:22.413 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:52.415 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.908 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:04:22.417 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:52.419 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.909 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:05:22.421 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:52.423 [info] {"source":"oban","duration":1126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.910 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:06:05.407 [debug] Tzdata polling for update. 02:06:05.687 [debug] Tzdata polling shows the loaded tz database is up to date. 02:06:22.425 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:52.427 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.911 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:07:22.429 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:52.431 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.912 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:08:22.433 [info] {"source":"oban","duration":1048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:52.436 [info] {"source":"oban","duration":1243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.913 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:09:22.437 [info] {"source":"oban","duration":996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:52.439 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.914 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:10:22.442 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:38.064 [info] GET / 02:10:38.064 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:10:38.065 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=863.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:38.065 [debug] QUERY OK source="media_profiles" db=0.1ms idle=549.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:10:38.065 [debug] QUERY OK source="sources" db=0.2ms idle=549.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:10:38.072 [debug] QUERY OK source="media_items" db=6.7ms idle=550.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:10:38.075 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=557.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:10:38.076 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:38.076 [debug] QUERY OK source="settings" db=0.1ms idle=11.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:38.077 [debug] QUERY OK source="settings" db=0.2ms idle=11.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:38.079 [debug] QUERY OK source="tasks" db=0.3ms idle=5.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"] 02:10:38.081 [debug] QUERY OK source="media_items" db=1.9ms 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)) [] 02:10:38.082 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms 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 (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 02:10:38.083 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 02:10:38.105 [debug] QUERY OK source="media_items" db=18.2ms idle=9.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"))) [] 02:10:38.107 [debug] QUERY OK source="media_items" db=1.1ms idle=26.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] 02:10:38.107 [debug] QUERY OK source="sources" db=0.2ms idle=25.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" = ?) [12] 02:10:38.111 [info] Sent 200 in 46ms 02:10:39.124 [info] GET /.pgpass 02:10:39.125 [debug] QUERY OK source="settings" db=0.3ms idle=1041.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.125 [debug] QUERY OK source="settings" db=0.2ms idle=1020.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.126 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.126 [error] #PID<0.66973.0> running PinchflatWeb.Endpoint (connection #PID<0.66972.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.pgpass ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pgpass", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55646}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66973.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.pgpass", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vSy0e5QcUdQACG-C"} ], 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.66972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pgpass", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55646}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66972.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.pgpass", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55646}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66973.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.pgpass", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vSy0e5QcUdQACG-C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, sta (truncated) 02:10:39.143 [info] GET /.env.local 02:10:39.144 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1037.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.145 [debug] QUERY OK source="settings" db=0.1ms idle=1036.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.145 [error] #PID<0.66975.0> running PinchflatWeb.Endpoint (connection #PID<0.66974.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.local ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55660}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66975.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS3ZMDHDxi0ACG_C"} ], 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.66974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55660}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66974.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55660}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66975.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS3ZMDHDxi0ACG_C"} (truncated) 02:10:39.171 [info] GET /.env.production 02:10:39.173 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.174 [info] GET /php.php 02:10:39.174 [info] GET / 02:10:39.174 [info] GET /.env.backup 02:10:39.174 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:10:39.174 [info] GET /.env 02:10:39.174 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.174 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=971.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=49.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.6ms idle=48.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.8ms idle=30.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.6ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.6ms idle=30.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.175 [debug] QUERY OK source="settings" db=0.6ms idle=0.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.176 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.176 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.176 [debug] QUERY OK source="media_profiles" db=0.3ms idle=0.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:10:39.177 [debug] QUERY OK source="settings" db=1.7ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.176 [debug] QUERY OK source="settings" db=0.3ms idle=0.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.177 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.178 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.178 [debug] QUERY OK source="sources" db=2.0ms queue=0.1ms idle=0.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:10:39.176 [error] #PID<0.66981.0> running PinchflatWeb.Endpoint (connection #PID<0.66978.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /php.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55666}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66981.0>, params: %{}, path_info: ["php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/php.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-prTHc01QACqvB"} ], 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.66978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55666}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66978.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55666}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66981.0>, params: %{}, path_info: ["php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], (truncated) 02:10:39.177 [error] #PID<0.66977.0> running PinchflatWeb.Endpoint (connection #PID<0.66976.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.production ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55662}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66977.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-FVOEig6IACHAC"} ], 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.66976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55662}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66976.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55662}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66977.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-re (truncated) 02:10:39.178 [error] #PID<0.66984.0> running PinchflatWeb.Endpoint (connection #PID<0.66979.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.backup ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55682}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66984.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-xBqgPqjQACHBC"} ], 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.66979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55682}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66979.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55682}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66984.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-xBqgPqjQACHBC"} (truncated) 02:10:39.179 [error] #PID<0.66985.0> running PinchflatWeb.Endpoint (connection #PID<0.66982.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55694}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66985.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-xr0GXGhAACqwB"} ], 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.66982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55694}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66982.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55694}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66985.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vS-xr0GXGhAACqwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :u (truncated) 02:10:39.193 [debug] QUERY OK source="media_items" db=13.7ms queue=0.6ms idle=3.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:10:39.196 [debug] QUERY OK source="media_items" db=2.7ms idle=18.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:10:39.197 [debug] QUERY OK source="settings" db=0.2ms idle=21.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.198 [debug] QUERY OK source="settings" db=0.1ms idle=20.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.198 [debug] QUERY OK source="settings" db=0.2ms idle=20.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.200 [debug] QUERY OK source="tasks" db=0.3ms idle=6.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"] 02:10:39.201 [info] GET /.env.prod 02:10:39.201 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.202 [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 [] 02:10:39.202 [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 [] 02:10:39.203 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.203 [debug] QUERY OK source="media_items" db=2.0ms 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)) [] 02:10:39.204 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms 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] 02:10:39.205 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 02:10:39.203 [error] #PID<0.66987.0> running PinchflatWeb.Endpoint (connection #PID<0.66986.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.prod ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55702}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66987.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTFQDx6_oZYACHCC"} ], 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.66986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55702}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66986.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55702}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66987.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTFQDx6_oZYACHCC"} ], 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/p (truncated) 02:10:39.287 [debug] QUERY OK source="media_items" db=78.6ms idle=5.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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 02:10:39.288 [info] GET /phpinfo.php 02:10:39.288 [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 [] 02:10:39.288 [debug] QUERY OK source="media_items" db=1.1ms idle=84.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] 02:10:39.289 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:10:39.289 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.289 [debug] QUERY OK source="sources" db=0.3ms idle=83.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" = ?) [12] 02:10:39.292 [info] Sent 200 in 118ms 02:10:39.289 [error] #PID<0.66989.0> running PinchflatWeb.Endpoint (connection #PID<0.66988.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55714}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66989.0>, params: %{}, path_info: ["phpinfo"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTZ1Pr1dpUAAAUnE"} ], 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.66988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55714}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66988.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55714}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66989.0>, params: %{}, path_info: ["phpinfo"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103. (truncated) 02:10:39.309 [info] GET /info.php 02:10:39.310 [debug] QUERY OK source="settings" db=0.2ms idle=23.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.311 [debug] QUERY OK source="settings" db=0.1ms idle=22.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.311 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.311 [error] #PID<0.66991.0> running PinchflatWeb.Endpoint (connection #PID<0.66990.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55724}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66991.0>, params: %{}, path_info: ["info"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTfBuUAeRsAACHDC"} ], 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.66990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55724}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66990.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55724}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66991.0>, params: %{}, path_info: ["info"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], (truncated) 02:10:39.348 [info] GET /test.php 02:10:39.349 [info] GET /debug.php 02:10:39.349 [debug] QUERY OK source="settings" db=0.2ms idle=60.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.350 [debug] QUERY OK source="settings" db=0.2ms idle=60.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.350 [debug] QUERY OK source="settings" db=0.5ms idle=60.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.350 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.350 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=39.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.350 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.351 [error] #PID<0.66993.0> running PinchflatWeb.Endpoint (connection #PID<0.66992.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /test.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55728}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66993.0>, params: %{}, path_info: ["test"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/test.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vToUrTvgWBQACHEC"} ], 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.66992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55728}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66992.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55728}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66993.0>, params: %{}, path_info: ["test"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/test. (truncated) 02:10:39.351 [error] #PID<0.66995.0> running PinchflatWeb.Endpoint (connection #PID<0.66994.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /debug.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55738}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66995.0>, params: %{}, path_info: ["debug"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/debug.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTofH6pn-IQAAUoE"} ], 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.66994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55738}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66994.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55738}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66995.0>, params: %{}, path_info: ["debug"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path (truncated) 02:10:39.359 [info] GET /.aws/credentials 02:10:39.360 [info] GET /.aws/config 02:10:39.360 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.360 [debug] QUERY OK source="settings" db=0.2ms idle=49.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.361 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:10:39.361 [debug] QUERY OK source="settings" db=0.3ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.361 [debug] QUERY OK source="settings" db=0.1ms idle=10.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.364 [info] GET /.npmrc 02:10:39.364 [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 [] 02:10:39.362 [error] #PID<0.66999.0> running PinchflatWeb.Endpoint (connection #PID<0.66998.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.aws/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55760}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66999.0>, params: %{}, path_info: [".aws", "config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.aws/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTrDeJgqpocAAUpE"} ], 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.66998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55760}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66998.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55760}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66999.0>, params: %{}, path_info: [".aws", "config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.aws/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTrDeJgqpocAAUpE"} ], 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/ (truncated) 02:10:39.365 [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 [] 02:10:39.365 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.361 [error] #PID<0.66997.0> running PinchflatWeb.Endpoint (connection #PID<0.66996.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55744}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66997.0>, params: %{}, path_info: [".aws", "credentials"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTq7uAICtI4ACHFC"} ], 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.66996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55744}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.66996.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55744}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.66997.0>, params: %{}, path_info: [".aws", "credentials"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTq7uAICtI4ACHFC"} (truncated) 02:10:39.366 [error] #PID<0.67001.0> running PinchflatWeb.Endpoint (connection #PID<0.67000.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.npmrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55770}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67001.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.npmrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTr8P42ztg8ACHGC"} ], 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.67000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55770}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67000.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55770}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67001.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.npmrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vTr8P42ztg8ACHGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Route (truncated) 02:10:39.447 [info] GET /.netrc 02:10:39.448 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.448 [debug] QUERY OK source="settings" db=0.2ms idle=87.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.449 [debug] QUERY OK source="settings" db=0.1ms idle=88.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.449 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.450 [error] #PID<0.67003.0> running PinchflatWeb.Endpoint (connection #PID<0.67002.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.netrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.netrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55782}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67003.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.netrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vT_7xTxN0osACHHC"} ], 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.67002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.netrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55782}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67002.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.netrc", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55782}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67003.0>, params: %{}, path_info: [""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.netrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vT_7xTxN0osACHHC"} ], 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_build (truncated) 02:10:39.478 [info] GET /wp-config.php.bak 02:10:39.479 [debug] QUERY OK source="settings" db=0.2ms idle=117.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.479 [debug] QUERY OK source="settings" db=0.2ms idle=114.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.479 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.480 [error] #PID<0.67005.0> running PinchflatWeb.Endpoint (connection #PID<0.67004.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /wp-config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55784}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67005.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUHMgRaxwdAAAUqE"} ], 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.67004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55784}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67004.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55784}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67005.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUHMgRaxwdA (truncated) 02:10:39.508 [info] GET /.env.bak 02:10:39.509 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.509 [debug] QUERY OK source="settings" db=0.2ms idle=144.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.510 [debug] QUERY OK source="settings" db=0.2ms idle=61.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.510 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.511 [info] GET /_profiler 02:10:39.512 [debug] QUERY OK source="settings" db=0.2ms idle=62.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.512 [debug] QUERY OK source="settings" db=0.1ms idle=33.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.512 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.511 [error] #PID<0.67007.0> running PinchflatWeb.Endpoint (connection #PID<0.67006.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55796}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67007.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUOfbWf6-boACHIC"} ], 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.67006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55796}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67006.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55796}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67007.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUOfbWf6-boACHIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, (truncated) 02:10:39.513 [error] #PID<0.67009.0> running PinchflatWeb.Endpoint (connection #PID<0.67008.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /_profiler ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55812}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67009.0>, params: %{}, path_info: ["_profiler"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/_profiler", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUPJ6DRw2VQAAUrE"} ], 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.67008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55812}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67008.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55812}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67009.0>, params: %{}, path_info: ["_profiler"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.21 (truncated) 02:10:39.520 [info] GET /.env.save 02:10:39.520 [info] GET /.env.old 02:10:39.521 [info] GET /api/.env 02:10:39.521 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=41.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.522 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.522 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.522 [debug] QUERY OK source="settings" db=0.5ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.523 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms 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 [] 02:10:39.522 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.523 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.523 [debug] QUERY OK source="settings" db=0.9ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.524 [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 [] 02:10:39.524 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.523 [error] #PID<0.67013.0> running PinchflatWeb.Endpoint (connection #PID<0.67011.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.save ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55826}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67013.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURVj3Sz4uIACHJC"} ], 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.67011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55826}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67011.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.save", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55826}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67013.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.save", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURVj3Sz4uIACHJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, (truncated) 02:10:39.524 [error] #PID<0.67012.0> running PinchflatWeb.Endpoint (connection #PID<0.67010.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.env.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55816}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67012.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURVj1ZObE0AAUsE"} ], 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.67010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55816}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67010.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55816}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67012.0>, params: %{}, path_info: [".env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURVj1ZObE0AAUsE"} ], scheme: :http, script_name: [], secret_key_base: :..., (truncated) 02:10:39.525 [error] #PID<0.67015.0> running PinchflatWeb.Endpoint (connection #PID<0.67014.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55838}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67015.0>, params: %{}, path_info: ["api", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURkE1c-raMACHKC"} ], 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.67014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55838}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67014.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55838}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67015.0>, params: %{}, path_info: ["api", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vURkE1c-raMACHKC"} ], 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/p (truncated) 02:10:39.607 [info] GET /backend/.env 02:10:39.607 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.608 [debug] QUERY OK source="settings" db=0.2ms idle=85.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.608 [debug] QUERY OK source="settings" db=0.1ms idle=85.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.608 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.609 [error] #PID<0.67017.0> running PinchflatWeb.Endpoint (connection #PID<0.67016.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55842}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67017.0>, params: %{}, path_info: ["backend", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUl5b_TN6AgACHLC"} ], 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.67016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55842}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67016.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55842}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67017.0>, params: %{}, path_info: ["backend", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vUl5b_TN6AgACHLC"} ], scheme: :http, script_name: [], secret (truncated) 02:10:39.675 [info] GET /wp-config.php.old 02:10:39.675 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.675 [info] GET /wp-config.php.swp 02:10:39.676 [debug] QUERY OK source="settings" db=0.3ms idle=152.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.676 [debug] QUERY OK source="settings" db=0.2ms idle=152.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.676 [debug] QUERY OK source="settings" db=0.1ms idle=152.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.676 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.677 [debug] QUERY OK source="settings" db=0.2ms idle=68.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.677 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.679 [info] GET /wp-config.php~ 02:10:39.679 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.680 [info] GET /backup/wp-config.php 02:10:39.680 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.677 [error] #PID<0.67021.0> running PinchflatWeb.Endpoint (connection #PID<0.67020.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /wp-config.php.swp ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.swp", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55870}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67021.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU2SyXJmegUAAUtE"} ], 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.67020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.swp", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55870}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67020.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.swp", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55870}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67021.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.swp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU2SyXJmegUAAUtE"} ], (truncated) 02:10:39.681 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=71.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.681 [debug] QUERY OK source="settings" db=0.5ms 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 [] 02:10:39.682 [debug] QUERY OK source="settings" db=0.8ms 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 [] 02:10:39.682 [info] GET /config/database.php 02:10:39.677 [error] #PID<0.67019.0> running PinchflatWeb.Endpoint (connection #PID<0.67018.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /wp-config.php.old ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67018.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55856}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67019.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU2HWk-cDl4ACHMC"} ], 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.67018.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55856}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67018.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php.old", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55856}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67019.0>, params: %{}, path_info: ["wp-config.php"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU2HWk-cDl4ACHMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :cal (truncated) 02:10:39.682 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.682 [info] GET /public/.env 02:10:39.683 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.684 [debug] QUERY OK source="settings" db=1.5ms queue=1.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 [] 02:10:39.684 [debug] QUERY OK source="settings" db=1.2ms idle=6.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.684 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.685 [info] GET /config/.env 02:10:39.685 [debug] QUERY OK source="settings" db=1.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 [] 02:10:39.686 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.686 [debug] QUERY OK source="settings" db=1.4ms queue=0.6ms 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 [] 02:10:39.683 [error] #PID<0.67025.0> running PinchflatWeb.Endpoint (connection #PID<0.67024.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /backup/wp-config.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/wp-config.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55886}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67025.0>, params: %{}, path_info: ["backup", "wp-config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/backup/wp-config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU3U-eR3khgACHNC"} ], 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.67024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/wp-config.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55886}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backup/wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67024.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup/wp-config.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55886}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67025.0>, params: %{}, path_info: ["backup", "wp-config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/backup/wp-config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ (truncated) 02:10:39.687 [debug] QUERY OK source="settings" db=0.9ms queue=0.7ms 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 [] 02:10:39.688 [debug] QUERY OK source="settings" db=2.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 [] 02:10:39.688 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.685 [error] #PID<0.67023.0> running PinchflatWeb.Endpoint (connection #PID<0.67022.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /wp-config.php~ ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55878}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67023.0>, params: %{}, path_info: ["wp-config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU3LF91kXF8AAUuE"} ], 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.67022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55878}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67022.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-config.php~", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55878}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67023.0>, params: %{}, path_info: ["wp-config"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/wp-config.php~", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU3LF91kXF8AAUuE"} ], scheme: :http, script_name: [], (truncated) 02:10:39.689 [debug] QUERY OK source="settings" db=1.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 [] 02:10:39.689 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.687 [error] #PID<0.67028.0> running PinchflatWeb.Endpoint (connection #PID<0.67026.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /config/database.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67026.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55906}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67028.0>, params: %{}, path_info: ["config", "database"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/database.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU36swPTp-YAA_TD"} ], 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.67026.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55906}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67026.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55906}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67028.0>, params: %{}, path_info: ["config", "database"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/database.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU36swPTp-YAA_T (truncated) 02:10:39.689 [error] #PID<0.67029.0> running PinchflatWeb.Endpoint (connection #PID<0.67027.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55900}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67029.0>, params: %{}, path_info: ["public", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU36QNB-r4AACHOC"} ], 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.67027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55900}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67027.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55900}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67029.0>, params: %{}, path_info: ["public", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request- (truncated) 02:10:39.690 [error] #PID<0.67031.0> running PinchflatWeb.Endpoint (connection #PID<0.67030.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67030.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55912}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67031.0>, params: %{}, path_info: ["config", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU4g3jd6hWwAAUvE"} ], 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.67030.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55912}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67030.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55912}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67031.0>, params: %{}, path_info: ["config", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vU4g3jd6hWwAAUvE"} ], 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.En (truncated) 02:10:39.772 [info] GET /laravel/.env 02:10:39.773 [debug] QUERY OK source="settings" db=0.2ms idle=86.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.773 [debug] QUERY OK source="settings" db=0.2ms idle=87.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.773 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.774 [error] #PID<0.67033.0> running PinchflatWeb.Endpoint (connection #PID<0.67032.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /laravel/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55926}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67033.0>, params: %{}, path_info: ["laravel", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVNSOGY0Wv8ACHPC"} ], 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.67032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55926}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67032.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55926}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67033.0>, params: %{}, path_info: ["laravel", ""], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVNSOGY0Wv8ACHPC"} ], scheme: :http, script_n (truncated) 02:10:39.834 [info] GET /config/database.yml 02:10:39.835 [debug] QUERY OK source="settings" db=0.3ms idle=148.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.836 [debug] QUERY OK source="settings" db=0.1ms idle=147.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.836 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.836 [error] #PID<0.67037.0> running PinchflatWeb.Endpoint (connection #PID<0.67036.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /config/database.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55942}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67037.0>, params: %{}, path_info: ["config", "database"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/database.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVcM9ykmdPsACHQC"} ], 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.67036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55942}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67036.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55942}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67037.0>, params: %{}, path_info: ["config", "database"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/database.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-rev (truncated) 02:10:39.842 [info] GET /config/secrets.yml 02:10:39.842 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.843 [info] GET /config/mail.php 02:10:39.844 [info] GET /actuator/env 02:10:39.844 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.844 [debug] QUERY OK source="settings" db=0.6ms queue=0.5ms idle=153.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.844 [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 [] 02:10:39.845 [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 [] 02:10:39.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.845 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=71.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.845 [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 [] 02:10:39.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.846 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 02:10:39.846 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.845 [error] #PID<0.67039.0> running PinchflatWeb.Endpoint (connection #PID<0.67038.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /config/secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55956}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67039.0>, params: %{}, path_info: ["config", "secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVd7wPL-7VwACHRC"} ], 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.67038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55956}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67038.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55956}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67039.0>, params: %{}, path_info: ["config", "secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-cont (truncated) 02:10:39.846 [error] #PID<0.67041.0> running PinchflatWeb.Endpoint (connection #PID<0.67040.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /config/mail.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67040.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55958}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67041.0>, params: %{}, path_info: ["config", "mail"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/mail.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVeWYU4kihAACHSC"} ], 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.67040.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55958}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67040.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55958}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67041.0>, params: %{}, path_info: ["config", "mail"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/config/mail.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVeWYU4kihAACHSC"} (truncated) 02:10:39.846 [error] #PID<0.67043.0> running PinchflatWeb.Endpoint (connection #PID<0.67042.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55974}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67043.0>, params: %{}, path_info: ["actuator", "env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVeZnOonikEACq3B"} ], 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.67042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55974}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67042.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55974}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67043.0>, params: %{}, path_info: ["actuator", "env"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVeZnOonikEACq3B"} ], (truncated) 02:10:39.851 [info] GET /actuator/heapdump 02:10:39.851 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:39.852 [debug] QUERY OK source="settings" db=0.3ms idle=7.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:39.852 [debug] QUERY OK source="settings" db=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 [] 02:10:39.852 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:39.853 [error] #PID<0.67045.0> running PinchflatWeb.Endpoint (connection #PID<0.67044.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /actuator/heapdump ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/heapdump (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67044.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/heapdump", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55990}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67045.0>, params: %{}, path_info: ["actuator", "heapdump"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/actuator/heapdump", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vVgEWs5usWwACHTC"} ], 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.67044.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/heapdump", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55990}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/heapdump (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67044.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/heapdump", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55990}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67045.0>, params: %{}, path_info: ["actuator", "heapdump"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/actuator/heapdump", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"} (truncated) 02:10:40.032 [info] GET /application.properties 02:10:40.032 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.033 [info] GET /appsettings.json 02:10:40.033 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.033 [debug] QUERY OK source="settings" db=0.2ms idle=187.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.033 [debug] QUERY OK source="settings" db=0.3ms idle=187.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.033 [debug] QUERY OK source="settings" db=0.3ms idle=188.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.034 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.034 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=181.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.034 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.036 [info] GET /web.config 02:10:40.036 [info] GET /application.yml 02:10:40.036 [info] GET /.gitlab-ci.yml 02:10:40.036 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.036 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.037 [debug] QUERY OK source="settings" db=0.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 [] 02:10:40.037 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:10:40.037 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=184.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.034 [error] #PID<0.67047.0> running PinchflatWeb.Endpoint (connection #PID<0.67046.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /application.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67046.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55994}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67047.0>, params: %{}, path_info: ["application"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWLSDbdjV1cACHUC"} ], 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.67046.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55994}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67046.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55994}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67047.0>, params: %{}, path_info: ["application"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"} (truncated) 02:10:40.038 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 02:10:40.038 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.038 [debug] QUERY OK source="settings" db=0.3ms 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 [] 02:10:40.038 [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 [] 02:10:40.035 [error] #PID<0.67049.0> running PinchflatWeb.Endpoint (connection #PID<0.67048.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /appsettings.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67048.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55996}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67049.0>, params: %{}, path_info: ["appsettings"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWLcgG1eVYsAAUwE"} ], 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.67048.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55996}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67048.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55996}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67049.0>, params: %{}, path_info: ["appsettings"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2 (truncated) 02:10:40.038 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.038 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.038 [error] #PID<0.67054.0> running PinchflatWeb.Endpoint (connection #PID<0.67050.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /application.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56016}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67054.0>, params: %{}, path_info: ["application"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWMSsDmOmAcAA_UD"} ], 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.67050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56016}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67050.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56016}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67054.0>, params: %{}, path_info: ["application"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-reva (truncated) 02:10:40.039 [error] #PID<0.67055.0> running PinchflatWeb.Endpoint (connection #PID<0.67052.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /.gitlab-ci.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gitlab-ci (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitlab-ci.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56030}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67055.0>, params: %{}, path_info: [".gitlab-ci"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.gitlab-ci.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWMT0SpIZoIACHVC"} ], 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.67052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitlab-ci.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56030}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.gitlab-ci (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67052.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitlab-ci.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56030}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67055.0>, params: %{}, path_info: [".gitlab-ci"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/.gitlab-ci.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWMT0SpIZoIACHVC"} ], (truncated) 02:10:40.039 [error] #PID<0.67053.0> running PinchflatWeb.Endpoint (connection #PID<0.67051.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /web.config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56004}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67053.0>, params: %{}, path_info: ["web"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/web.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWMO6z9EEVkACq4B"} ], 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.67051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56004}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67051.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56004}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67053.0>, params: %{}, path_info: ["web"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/web.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vWMO6z9EEVkACq4B"} ], scheme: :http, (truncated) 02:10:40.219 [info] GET /terraform.tfstate 02:10:40.220 [info] GET /terraform.tfvars 02:10:40.220 [info] GET /secrets.json 02:10:40.220 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=182.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.220 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.221 [debug] QUERY OK source="settings" db=0.6ms idle=182.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.222 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.222 [info] GET /credentials.json 02:10:40.222 [debug] QUERY OK source="settings" db=0.8ms 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 [] 02:10:40.222 [info] GET /secrets.yml 02:10:40.222 [debug] QUERY OK source="settings" db=1.2ms idle=182.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.222 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:10:40.222 [debug] QUERY OK source="settings" db=0.3ms idle=14.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:10:40.222 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.223 [debug] QUERY OK source="settings" db=0.4ms 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 [] 02:10:40.223 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:10:40.223 [debug] QUERY OK source="settings" db=0.6ms 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 [] 02:10:40.223 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.224 [debug] QUERY OK source="settings" db=1.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 [] 02:10:40.225 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.225 [debug] QUERY OK source="settings" db=0.4ms queue=0.8ms 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 [] 02:10:40.225 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:10:40.222 [error] #PID<0.67057.0> running PinchflatWeb.Endpoint (connection #PID<0.67056.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /terraform.tfstate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67056.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56042}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67057.0>, params: %{}, path_info: ["terraform"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/terraform.tfstate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW3-qzHabVkACHWC"} ], 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.67056.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56042}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67056.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfstate", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56042}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67057.0>, params: %{}, path_info: ["terraform"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/terraform.tfstate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW3-qzHabVkACHWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, (truncated) 02:10:40.223 [error] #PID<0.67061.0> running PinchflatWeb.Endpoint (connection #PID<0.67059.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /secrets.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56046}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67061.0>, params: %{}, path_info: ["secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/secrets.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4NPsWf-wkAAUxE"} ], 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.67059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56046}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56046}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67061.0>, params: %{}, path_info: ["secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/secrets.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4NPsWf-wkAAUxE"} ], 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.En (truncated) 02:10:40.226 [error] #PID<0.67065.0> running PinchflatWeb.Endpoint (connection #PID<0.67063.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67063.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56074}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67065.0>, params: %{}, path_info: ["secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4h-86935UACq6B"} ], 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.67063.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56074}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67063.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.yml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56074}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67065.0>, params: %{}, path_info: ["secrets"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", " (truncated) 02:10:40.223 [error] #PID<0.67060.0> running PinchflatWeb.Endpoint (connection #PID<0.67058.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /terraform.tfvars ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67058.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56044}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67060.0>, params: %{}, path_info: ["terraform"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/terraform.tfvars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4NPu0_qz0ACq5B"} ], 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.67058.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56044}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /terraform (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67058.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/terraform.tfvars", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56044}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67060.0>, params: %{}, path_info: ["terraform"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/terraform.tfvars", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4NPu0_qz0ACq5B"} ], 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]}, {Pinchfla (truncated) 02:10:40.226 [error] #PID<0.67064.0> running PinchflatWeb.Endpoint (connection #PID<0.67062.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /credentials.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67062.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56062}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67064.0>, params: %{}, path_info: ["credentials"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4h--zAamYACHXC"} ], 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.67062.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56062}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67062.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/credentials.json", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 56062}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "cache-control" => "no-cache", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "103.215.74.185", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "103.215.74.185" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67064.0>, params: %{}, path_info: ["credentials"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"cache-control", "no-cache"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "103.215.74.185"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "103.215.74.185"} ], request_path: "/credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg2vW4h--zAamYACHXC"} ], 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 (truncated) 02:10:52.443 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.915 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:11:22.445 [info] {"source":"oban","duration":1000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:52.447 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.916 [info] {"source":"oban","duration":385,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:12:22.449 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:52.451 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:00.917 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:13:22.453 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:52.455 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.918 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:14:22.457 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:52.459 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.919 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:15:22.461 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:52.463 [info] {"source":"oban","duration":992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.920 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:16:22.465 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:52.467 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.921 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:17:22.469 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:52.471 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.922 [info] {"source":"oban","duration":373,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:18:22.473 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:52.475 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.923 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:19:22.477 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:52.479 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.924 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:20:22.481 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:52.483 [info] {"source":"oban","duration":1054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.925 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:21:22.485 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:52.487 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.926 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:22:22.489 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:52.491 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.927 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:23:22.493 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:52.495 [info] {"source":"oban","duration":1065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.928 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:24:22.497 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:52.499 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.929 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:25:22.501 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:52.503 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.930 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:26:22.505 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:52.507 [info] {"source":"oban","duration":992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.931 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:27:22.509 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:52.511 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.932 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:28:22.513 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:52.515 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.933 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:29:22.517 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:52.519 [info] {"source":"oban","duration":1092,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.934 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:30:22.521 [info] {"source":"oban","duration":1027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:52.523 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.935 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:31:22.525 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:52.527 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.936 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:32:22.529 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:52.531 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.937 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:33:22.533 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:52.535 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.938 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:34:22.537 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:52.539 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.939 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:35:22.541 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:52.543 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.940 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:36:22.545 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:52.547 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.941 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:37:22.551 [info] {"source":"oban","duration":2457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:52.552 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.942 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:38:22.554 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:52.556 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.943 [info] {"source":"oban","duration":276,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:39:22.558 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:52.560 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.944 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:40:22.562 [info] {"source":"oban","duration":1050,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:52.564 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.945 [info] {"source":"oban","duration":258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:41:22.566 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:52.568 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.946 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:42:22.570 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:52.572 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.947 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:43:22.574 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:52.576 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.948 [info] {"source":"oban","duration":398,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:44:22.578 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:52.580 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.949 [info] {"source":"oban","duration":429,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:45:22.582 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:52.584 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.950 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:46:22.586 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:52.589 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.951 [info] {"source":"oban","duration":528,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:47:22.590 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:52.592 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.953 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:48:22.594 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:52.596 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.954 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:49:22.598 [info] {"source":"oban","duration":1022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:52.600 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.955 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:50:22.602 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:52.604 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.956 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:51:22.606 [info] {"source":"oban","duration":1102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:52.608 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.957 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:52:22.610 [info] {"source":"oban","duration":1147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:52.612 [info] {"source":"oban","duration":996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.958 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:53:22.614 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:52.616 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.959 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:54:22.618 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:52.620 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.960 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:55:22.622 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:52.624 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.961 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:56:22.626 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:52.628 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.962 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:57:22.630 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:52.632 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.963 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:58:22.635 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:52.636 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.964 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 02:59:22.638 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:52.640 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.968 [info] {"source":"oban","duration":3268,"event":"plugin:stop","jobs":[8895],"plugin":"Oban.Plugins.Cron"} 03:00:00.978 [info] {"args":{},"id":8895,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1776733200977770114,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 03:00:00.991 [debug] QUERY OK source="media_items" db=12.4ms queue=0.1ms idle=437.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 03:00:00.991 [info] Culling 0 media items past their retention date 03:00:01.005 [debug] QUERY OK source="media_items" db=13.4ms queue=0.1ms idle=450.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 03:00:01.005 [info] Deleting 0 media items that are from before the source cutoff 03:00:01.008 [info] {"args":{},"id":8895,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","duration":28024,"event":"job:stop","queue_time":973728,"attempt":1,"tags":["media_item","local_data"]} 03:00:22.642 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:52.644 [info] {"source":"oban","duration":1213,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.969 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:01:22.646 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:52.648 [info] {"source":"oban","duration":1018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.970 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:02:22.650 [info] {"source":"oban","duration":1180,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:52.652 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.971 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:03:22.654 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:52.656 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.972 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:04:22.658 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:52.660 [info] {"source":"oban","duration":1142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.973 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:05:22.662 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:52.664 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.974 [info] {"source":"oban","duration":372,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:06:22.666 [info] {"source":"oban","duration":1116,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:52.668 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.975 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:07:22.670 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:52.672 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.976 [info] {"source":"oban","duration":403,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:08:22.674 [info] {"source":"oban","duration":1068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:52.676 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.977 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:09:22.678 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:52.680 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.978 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:10:22.682 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:52.684 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.979 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:11:22.686 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:52.688 [info] {"source":"oban","duration":1015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.980 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:12:22.690 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:52.692 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.981 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:13:22.694 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:52.696 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.982 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:14:22.700 [info] {"source":"oban","duration":2206,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:52.701 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.983 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:15:22.703 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:52.705 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.984 [info] {"source":"oban","duration":378,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:16:22.707 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:52.709 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.985 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:17:22.711 [info] {"source":"oban","duration":872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:52.713 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.986 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:18:22.715 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:52.717 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.987 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:19:22.719 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:52.721 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.988 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:20:22.723 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:52.725 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.989 [info] {"source":"oban","duration":889,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:21:22.727 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:52.729 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.991 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:22:22.731 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:52.733 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.992 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:23:22.735 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:52.737 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.993 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:24:22.739 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:52.741 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.994 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:25:22.743 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:52.745 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.995 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:26:22.747 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:52.749 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.996 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:27:22.751 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:52.753 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.997 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:28:22.755 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:52.757 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.998 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:29:22.759 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:52.761 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.999 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:30:22.763 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:52.765 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:01.000 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:31:22.767 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:52.769 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.001 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:32:22.771 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:52.773 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.002 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:33:22.775 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:52.777 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.003 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:34:22.780 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:52.781 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.004 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:35:22.783 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:52.785 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.005 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:36:22.787 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:52.789 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.006 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:37:22.791 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:52.793 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.007 [info] {"source":"oban","duration":288,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:38:22.795 [info] {"source":"oban","duration":870,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:52.797 [info] {"source":"oban","duration":1142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.008 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:39:22.799 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:52.801 [info] {"source":"oban","duration":981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.009 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:40:22.803 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:52.805 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.010 [info] {"source":"oban","duration":498,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:41:22.807 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:52.809 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.011 [info] {"source":"oban","duration":593,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:42:22.811 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:52.813 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.013 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:43:22.815 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:52.817 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.015 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:44:22.819 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:52.821 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.016 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:45:22.823 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:52.825 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.017 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:46:22.827 [info] {"source":"oban","duration":1071,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:52.829 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.018 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:22.831 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:52.833 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.019 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:22.835 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:52.837 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.020 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:22.839 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:52.841 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.021 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:22.843 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:52.845 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.022 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:22.847 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:52.849 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.023 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:22.851 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:52.853 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.024 [info] {"source":"oban","duration":482,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:22.855 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:52.857 [info] {"source":"oban","duration":1028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.026 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:22.859 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:52.861 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.027 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:22.863 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:52.865 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.028 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:22.867 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:52.869 [info] {"source":"oban","duration":1028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.029 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:22.871 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:52.873 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.030 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:22.875 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:52.877 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.031 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:22.879 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:52.881 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.034 [info] {"source":"oban","duration":3026,"event":"plugin:stop","jobs":[8896],"plugin":"Oban.Plugins.Cron"} 04:00:00.042 [info] {"args":{},"id":8896,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1776736800041758270,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:00.057 [debug] QUERY OK source="media_items" db=14.8ms idle=1457.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) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 04:00:00.057 [info] Redownloading 0 media items 04:00:00.059 [info] {"args":{},"id":8896,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":16236,"event":"job:stop","queue_time":39731,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:22.883 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:52.885 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.036 [info] {"source":"oban","duration":428,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:22.887 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:52.889 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.037 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:22.891 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:52.893 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.038 [info] {"source":"oban","duration":379,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:22.895 [info] {"source":"oban","duration":989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:52.897 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.039 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:22.899 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:52.901 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.040 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:22.903 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:52.905 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.041 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:22.907 [info] {"source":"oban","duration":966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:52.909 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.042 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:22.911 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:52.913 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.043 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:22.915 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:52.917 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.044 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:22.919 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:52.921 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.045 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:22.923 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:52.925 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.046 [info] {"source":"oban","duration":480,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:22.927 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:52.929 [info] {"source":"oban","duration":1019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.047 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:22.931 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:52.933 [info] {"source":"oban","duration":1191,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.048 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:22.935 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:52.937 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.049 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:22.939 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:52.941 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.050 [info] {"source":"oban","duration":472,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:22.943 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:52.945 [info] {"source":"oban","duration":998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.051 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:22.947 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:52.950 [info] {"source":"oban","duration":1194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.052 [info] {"source":"oban","duration":439,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:22.951 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:52.953 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.053 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:22.955 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:52.957 [info] {"source":"oban","duration":1027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.054 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:22.959 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:52.961 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.055 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:22.963 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:52.965 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.056 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:22.967 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:52.969 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.057 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:22.971 [info] {"source":"oban","duration":1065,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:52.973 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.058 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:22.975 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:52.977 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.059 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:22.979 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:52.981 [info] {"source":"oban","duration":864,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.060 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:22.983 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:52.985 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.061 [info] {"source":"oban","duration":431,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:22.988 [info] {"source":"oban","duration":1700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:52.989 [info] {"source":"oban","duration":1145,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.062 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:22.991 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:52.993 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.063 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:22.995 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:52.997 [info] {"source":"oban","duration":1043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.064 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:22.999 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:53.001 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.065 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:23.004 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:53.005 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.066 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:23.007 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:53.009 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.067 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:23.011 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:53.013 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.068 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:23.015 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:53.017 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.069 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:23.019 [info] {"source":"oban","duration":1190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:53.021 [info] {"source":"oban","duration":886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.070 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:23.023 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:53.025 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.071 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:23.027 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:53.029 [info] {"source":"oban","duration":1024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.072 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:23.031 [info] {"source":"oban","duration":1057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:53.033 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.073 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:23.035 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:53.037 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.074 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:23.039 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:53.041 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.076 [info] {"source":"oban","duration":1229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:23.043 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:53.045 [info] {"source":"oban","duration":1134,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.077 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:23.047 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:53.049 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.078 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:23.051 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:53.053 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.079 [info] {"source":"oban","duration":353,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:23.055 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:53.057 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.080 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:23.059 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:53.061 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.081 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:23.063 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:53.065 [info] {"source":"oban","duration":1077,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.086 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:23.067 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:53.069 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.088 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:23.071 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:53.073 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.089 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:23.075 [info] {"source":"oban","duration":1027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:53.077 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.090 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:23.079 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:53.081 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.091 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:23.083 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:53.085 [info] {"source":"oban","duration":1006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.092 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:23.087 [info] {"source":"oban","duration":1141,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:53.089 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.093 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:23.091 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:53.093 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.094 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:23.095 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:53.097 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.095 [info] {"source":"oban","duration":374,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:20.258 [info] GET /sitemap.xml 04:54:20.259 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1637.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:20.260 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1638.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:54:20.260 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 04:54:20.260 [error] #PID<0.67971.0> running PinchflatWeb.Endpoint (connection #PID<0.67970.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /sitemap.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 37534}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67971.0>, params: %{}, path_info: ["sitemap"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg_q9Xuq-j2hcwACtrB"} ], 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.67970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 37534}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.67970.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 37534}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.67971.0>, params: %{}, path_info: ["sitemap"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKg_q9Xuq-j2hcwACtrB"} ], scheme: :http, (truncated) 04:54:23.099 [info] {"source":"oban","duration":1162,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:53.101 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.096 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:23.103 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:53.105 [info] {"source":"oban","duration":1024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.097 [info] {"source":"oban","duration":402,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:23.107 [info] {"source":"oban","duration":1128,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:53.109 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.098 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:23.111 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:53.113 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.099 [info] {"source":"oban","duration":519,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:23.115 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:53.117 [info] {"source":"oban","duration":1087,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.101 [info] {"source":"oban","duration":449,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:23.119 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:53.121 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.102 [info] {"source":"oban","duration":368,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:23.123 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:53.126 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.103 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:23.128 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:53.130 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.104 [info] {"source":"oban","duration":315,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:23.132 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:53.134 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.105 [info] {"source":"oban","duration":619,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:23.136 [info] {"source":"oban","duration":966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:53.138 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.106 [info] {"source":"oban","duration":373,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:23.140 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:53.142 [info] {"source":"oban","duration":1105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.107 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:23.144 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:53.146 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.108 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:23.148 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:53.150 [info] {"source":"oban","duration":1115,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.109 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:23.152 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:53.154 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.110 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:23.156 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:53.158 [info] {"source":"oban","duration":1176,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.111 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:23.160 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:53.162 [info] {"source":"oban","duration":1002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.112 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:23.164 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:53.166 [info] {"source":"oban","duration":1054,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.113 [info] {"source":"oban","duration":422,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:23.168 [info] {"source":"oban","duration":1028,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:53.170 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.114 [info] {"source":"oban","duration":503,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:23.172 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:53.174 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.116 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:23.176 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:53.178 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.117 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:23.180 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:53.182 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.118 [info] {"source":"oban","duration":514,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:23.184 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:53.186 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.120 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:23.190 [info] {"source":"oban","duration":3015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:53.193 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.121 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:23.194 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:53.196 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.123 [info] {"source":"oban","duration":447,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:23.198 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:53.200 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.124 [info] {"source":"oban","duration":427,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:23.202 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:53.204 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.126 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:23.207 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:53.208 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.127 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:23.210 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:53.212 [info] {"source":"oban","duration":891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.128 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:23.214 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:53.216 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.129 [info] {"source":"oban","duration":269,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:23.218 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:53.220 [info] {"source":"oban","duration":1008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.130 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:23.222 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:53.224 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.131 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:23.226 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:53.228 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.132 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:23.230 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:53.233 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.133 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:23.234 [info] {"source":"oban","duration":1015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:53.236 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.134 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:23.238 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:53.240 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.135 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:23.242 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:53.244 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.136 [info] {"source":"oban","duration":400,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:23.246 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:53.248 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.137 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:23.250 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:53.252 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.138 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:23.254 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:53.256 [info] {"source":"oban","duration":1074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.139 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:23.258 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:53.260 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.140 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:23.262 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:53.264 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.141 [info] {"source":"oban","duration":465,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:23.266 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:53.268 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.142 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:23.270 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:53.274 [info] {"source":"oban","duration":1053,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.143 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:23.276 [info] {"source":"oban","duration":1105,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:53.278 [info] {"source":"oban","duration":996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.144 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:23.280 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:53.282 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.145 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:23.284 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:53.286 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.146 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:23.288 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:53.290 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.147 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:23.292 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:53.294 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.148 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:23.296 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:53.298 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.149 [info] {"source":"oban","duration":481,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:23.300 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:53.302 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.150 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:23.304 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:53.306 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.151 [info] {"source":"oban","duration":404,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:23.308 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:53.310 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.152 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:23.312 [info] {"source":"oban","duration":1043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:53.314 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.153 [info] {"source":"oban","duration":538,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:23.316 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:53.318 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.154 [info] {"source":"oban","duration":536,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:23.320 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:53.322 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.155 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:23.324 [info] {"source":"oban","duration":1113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:53.326 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.156 [info] {"source":"oban","duration":566,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:23.329 [info] {"source":"oban","duration":1267,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:53.330 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.157 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:23.332 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:53.334 [info] {"source":"oban","duration":1008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.158 [info] {"source":"oban","duration":474,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:23.336 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:53.338 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.159 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:23.340 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:53.342 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.160 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:23.344 [info] {"source":"oban","duration":1100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:53.346 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.161 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:23.348 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:53.350 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.162 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:23.352 [info] {"source":"oban","duration":1059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:53.354 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.163 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:23.356 [info] {"source":"oban","duration":1057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:53.358 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.164 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:23.360 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:53.362 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.165 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:23.364 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:53.366 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.166 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:23.367 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:53.369 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.167 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:23.371 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:53.373 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.168 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:23.375 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:53.377 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.169 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:23.379 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:53.381 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.170 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:23.383 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:53.385 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.171 [info] {"source":"oban","duration":350,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:23.387 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:53.389 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.172 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:23.391 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:53.393 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.173 [info] {"source":"oban","duration":321,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:23.395 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:53.397 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.174 [info] {"source":"oban","duration":469,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:23.399 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:53.401 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.175 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:23.403 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:53.405 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.176 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:23.407 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:53.409 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.177 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:23.411 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:53.413 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.178 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:23.415 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:53.419 [info] {"source":"oban","duration":2148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.179 [info] {"source":"oban","duration":386,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:23.420 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:53.422 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.180 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:23.424 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:53.426 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.181 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:23.428 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:53.430 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.182 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:23.432 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:53.436 [info] {"source":"oban","duration":3064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.183 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:23.438 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:53.440 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.184 [info] {"source":"oban","duration":414,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:23.442 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:53.444 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.185 [info] {"source":"oban","duration":394,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:23.446 [info] {"source":"oban","duration":981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:53.448 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.186 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:23.450 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:53.452 [info] {"source":"oban","duration":1020,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.187 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:23.454 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:53.456 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.188 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:23.458 [info] {"source":"oban","duration":1160,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:53.460 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.189 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:23.462 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:53.464 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.190 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:23.466 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:53.468 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.191 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:23.470 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:53.472 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.192 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:23.474 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:53.476 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.193 [info] {"source":"oban","duration":452,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:23.479 [info] {"source":"oban","duration":1225,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:53.480 [info] {"source":"oban","duration":1126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.194 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:23.482 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:53.484 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.195 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:23.486 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:53.488 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.196 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:23.491 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:53.493 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.197 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:23.494 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:53.496 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.198 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:23.498 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:53.500 [info] {"source":"oban","duration":1091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.199 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:23.502 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:53.504 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.200 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:23.506 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:53.508 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.201 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:23.510 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:53.512 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.202 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:23.514 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:53.516 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.203 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:23.518 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:53.520 [info] {"source":"oban","duration":994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.204 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:23.522 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:53.524 [info] {"source":"oban","duration":879,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.205 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:23.526 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:53.528 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.206 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:23.530 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:53.532 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.207 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:23.534 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:53.536 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.208 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:23.538 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:53.540 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.209 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:23.542 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:53.544 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.210 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:23.546 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:53.548 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.211 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:23.550 [info] {"source":"oban","duration":909,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:53.552 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.213 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:23.554 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:53.556 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.214 [info] {"source":"oban","duration":903,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:23.558 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:53.560 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.216 [info] {"source":"oban","duration":493,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:23.562 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:53.564 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.217 [info] {"source":"oban","duration":448,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:23.566 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:53.568 [info] {"source":"oban","duration":1048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.218 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:23.570 [info] {"source":"oban","duration":1197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:53.572 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.219 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:23.574 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:53.576 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.220 [info] {"source":"oban","duration":281,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:23.578 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:53.580 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.221 [info] {"source":"oban","duration":266,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:23.582 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:53.584 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.222 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:23.586 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:53.588 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.223 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:23.590 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:53.592 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.224 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:23.594 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:53.597 [info] {"source":"oban","duration":1600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.225 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:23.598 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:53.600 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.226 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:23.602 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:53.604 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.227 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:23.606 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:53.608 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.228 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:23.610 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:53.612 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.229 [info] {"source":"oban","duration":369,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:23.614 [info] {"source":"oban","duration":1035,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:53.616 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.230 [info] {"source":"oban","duration":367,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:23.618 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:53.621 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.231 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:23.622 [info] {"source":"oban","duration":1072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:53.624 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.232 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:23.626 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:53.628 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.233 [info] {"source":"oban","duration":403,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:23.630 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:53.632 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.234 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:23.634 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:53.636 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.235 [info] {"source":"oban","duration":382,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:23.638 [info] {"source":"oban","duration":994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:53.640 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.236 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:23.642 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:53.644 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.237 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:23.646 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:53.648 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.238 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:23.650 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:53.652 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.239 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:23.654 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:53.656 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.240 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:23.658 [info] {"source":"oban","duration":1161,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:53.660 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.241 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:23.662 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:53.664 [info] {"source":"oban","duration":1096,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.242 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:23.666 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:53.668 [info] {"source":"oban","duration":881,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.243 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:23.670 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:53.672 [info] {"source":"oban","duration":1106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.244 [info] {"source":"oban","duration":854,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:23.674 [info] {"source":"oban","duration":1010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:53.676 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.246 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:23.678 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:53.680 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.247 [info] {"source":"oban","duration":303,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:23.682 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:53.684 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.248 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:23.686 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:53.688 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.249 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:23.690 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:53.692 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.250 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:23.694 [info] {"source":"oban","duration":1029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:53.696 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.251 [info] {"source":"oban","duration":472,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:23.698 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:53.700 [info] {"source":"oban","duration":990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.253 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:23.702 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:53.704 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.254 [info] {"source":"oban","duration":397,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:23.706 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:53.708 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.255 [info] {"source":"oban","duration":496,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:23.710 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:53.712 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.256 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:23.714 [info] {"source":"oban","duration":1123,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:53.716 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.257 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:23.718 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:53.720 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.258 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:23.722 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:53.724 [info] {"source":"oban","duration":1056,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.259 [info] {"source":"oban","duration":403,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:23.726 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:53.728 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.260 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:23.730 [info] {"source":"oban","duration":1029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:53.732 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.261 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:23.734 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:53.736 [info] {"source":"oban","duration":946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.262 [info] {"source":"oban","duration":421,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:23.738 [info] {"source":"oban","duration":994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:53.740 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.263 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:23.742 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:53.744 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.265 [info] {"source":"oban","duration":2006,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:23.746 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:53.748 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.267 [info] {"source":"oban","duration":429,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:23.750 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:53.752 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.268 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:23.754 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:53.756 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.269 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:23.758 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:53.760 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.270 [info] {"source":"oban","duration":371,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:23.762 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:53.764 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.271 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:23.766 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:53.768 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.272 [info] {"source":"oban","duration":400,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:23.770 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:53.772 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.273 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:23.774 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:53.776 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.274 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:23.778 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:53.780 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.275 [info] {"source":"oban","duration":457,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:23.782 [info] {"source":"oban","duration":981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:53.784 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.276 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:23.786 [info] {"source":"oban","duration":1015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:53.788 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.277 [info] {"source":"oban","duration":357,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:23.790 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:53.792 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.278 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:23.794 [info] {"source":"oban","duration":918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:53.796 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.279 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:23.798 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:53.800 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.280 [info] {"source":"oban","duration":345,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:23.802 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:53.804 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.281 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:23.806 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:53.809 [info] {"source":"oban","duration":1573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.282 [info] {"source":"oban","duration":292,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:23.810 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:53.812 [info] {"source":"oban","duration":994,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.283 [info] {"source":"oban","duration":518,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:23.814 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:53.816 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.284 [info] {"source":"oban","duration":459,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:23.818 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:53.820 [info] {"source":"oban","duration":954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.285 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:23.822 [info] {"source":"oban","duration":1047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:53.825 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.286 [info] {"source":"oban","duration":346,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:23.826 [info] {"source":"oban","duration":1059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:53.828 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.287 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:23.830 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:53.832 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.288 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:23.834 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:53.836 [info] {"source":"oban","duration":1024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.289 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:23.838 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:53.840 [info] {"source":"oban","duration":1063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.290 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:23.842 [info] {"source":"oban","duration":1008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:53.844 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.291 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:23.846 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:53.848 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.292 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:23.850 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:53.852 [info] {"source":"oban","duration":1036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.293 [info] {"source":"oban","duration":506,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:23.854 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:53.857 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.294 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:23.859 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:53.861 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.295 [info] {"source":"oban","duration":498,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:23.863 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:53.865 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.296 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:23.867 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:50.062 [info] GET /sitemap.xml 08:04:50.063 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=854.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:04:50.063 [debug] QUERY OK source="settings" db=0.1ms idle=317.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 08:04:50.064 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 08:04:50.064 [error] #PID<0.69026.0> running PinchflatWeb.Endpoint (connection #PID<0.69025.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /sitemap.xml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.69025.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55220}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.69026.0>, params: %{}, path_info: ["sitemap"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKhKEQtT9o-uZdIACwGB"} ], 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.69025.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55220}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sitemap (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.69025.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 55220}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.69026.0>, params: %{}, path_info: ["sitemap"], 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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKhKEQtT9o-uZdIACwGB"} ], scheme: :http, (truncated) 08:04:53.869 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.297 [info] {"source":"oban","duration":356,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:23.871 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:53.873 [info] {"source":"oban","duration":1068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.298 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:23.875 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:53.877 [info] {"source":"oban","duration":1011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.299 [info] {"source":"oban","duration":347,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:23.879 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:53.881 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.300 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:23.883 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:53.885 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.301 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:23.887 [info] {"source":"oban","duration":1094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:53.889 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.302 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:23.891 [info] {"source":"oban","duration":1069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:53.893 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.303 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:23.895 [info] {"source":"oban","duration":1049,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:53.897 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.304 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:23.899 [info] {"source":"oban","duration":989,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:53.901 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.305 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:23.903 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:53.905 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.306 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:23.907 [info] {"source":"oban","duration":925,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:53.909 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.307 [info] {"source":"oban","duration":365,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:23.911 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:53.913 [info] {"source":"oban","duration":912,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.308 [info] {"source":"oban","duration":384,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:23.915 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:53.917 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.309 [info] {"source":"oban","duration":418,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:23.919 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:53.921 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.310 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:23.923 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:53.925 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.311 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:23.927 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:53.929 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.313 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:23.931 [info] {"source":"oban","duration":1072,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:53.933 [info] {"source":"oban","duration":1166,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.322 [info] {"source":"oban","duration":9055,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:23.935 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:53.937 [info] {"source":"oban","duration":1043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.324 [info] {"source":"oban","duration":440,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:23.939 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:53.941 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.325 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:23.943 [info] {"source":"oban","duration":1177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:53.945 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.326 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:23.947 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:53.949 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.327 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:23.951 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:53.953 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.328 [info] {"source":"oban","duration":275,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:23.955 [info] {"source":"oban","duration":1152,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:53.957 [info] {"source":"oban","duration":1179,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.329 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:23.959 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:53.961 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.331 [info] {"source":"oban","duration":478,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:23.963 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:53.965 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.332 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:23.967 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:53.969 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.333 [info] {"source":"oban","duration":283,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:23.971 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:53.973 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.334 [info] {"source":"oban","duration":388,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:23.975 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:53.977 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.335 [info] {"source":"oban","duration":470,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:23.979 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:53.981 [info] {"source":"oban","duration":1086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.336 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:23.983 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:53.985 [info] {"source":"oban","duration":1100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.339 [info] {"source":"oban","duration":296,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:23.987 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:53.989 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.341 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:23.991 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:53.993 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.342 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:23.996 [info] {"source":"oban","duration":1247,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:53.997 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.343 [info] {"source":"oban","duration":407,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:23.999 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:54.001 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.344 [info] {"source":"oban","duration":307,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:24.003 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:54.005 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.345 [info] {"source":"oban","duration":280,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:24.007 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:54.009 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.346 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:24.011 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:54.013 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.347 [info] {"source":"oban","duration":477,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:24.015 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:54.017 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.348 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:24.019 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:54.021 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.349 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:24.024 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:54.025 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.355 [info] {"source":"oban","duration":6156,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:24.027 [info] {"source":"oban","duration":1140,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:54.029 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.357 [info] {"source":"oban","duration":304,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:24.031 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:54.033 [info] {"source":"oban","duration":1019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.358 [info] {"source":"oban","duration":426,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:24.035 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:54.037 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.360 [info] {"source":"oban","duration":500,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:24.039 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:54.041 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.361 [info] {"source":"oban","duration":500,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:24.043 [info] {"source":"oban","duration":952,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:54.045 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.362 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:24.047 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:54.049 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.363 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:24.052 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:54.054 [info] {"source":"oban","duration":892,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.364 [info] {"source":"oban","duration":397,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:24.056 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:54.058 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.365 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:24.060 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:54.062 [info] {"source":"oban","duration":1135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.366 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:24.064 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:54.066 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.367 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:24.068 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:54.070 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.368 [info] {"source":"oban","duration":289,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:24.072 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:54.075 [info] {"source":"oban","duration":1240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.369 [info] {"source":"oban","duration":492,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:24.076 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:54.079 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.370 [info] {"source":"oban","duration":394,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:24.081 [info] {"source":"oban","duration":1385,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:54.082 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.371 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:24.084 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:54.086 [info] {"source":"oban","duration":1022,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.372 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:24.088 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:54.090 [info] {"source":"oban","duration":1097,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.373 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:24.092 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:54.095 [info] {"source":"oban","duration":1197,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.374 [info] {"source":"oban","duration":788,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:24.097 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:54.099 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.376 [info] {"source":"oban","duration":436,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:24.101 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:54.103 [info] {"source":"oban","duration":1112,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.378 [info] {"source":"oban","duration":439,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:24.105 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:54.107 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.379 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:24.109 [info] {"source":"oban","duration":878,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:54.111 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.381 [info] {"source":"oban","duration":1763,"event":"plugin:stop","jobs":[8897],"plugin":"Oban.Plugins.Cron"} 09:05:00.390 [info] {"args":{},"id":8897,"meta":{"cron":true,"cron_expr":"5 7 * * *","cron_tz":"Etc/UTC"},"system_time":1776755100390227213,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 09:05:00.390 [info] Updating yt-dlp 09:05:00.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 09:05:03.319 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 09:05:03.320 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 09:05:05.079 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 09:05:05.080 [debug] QUERY OK source="settings" db=0.4ms idle=1258.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:05:05.081 [info] {"args":{},"id":8897,"meta":{"cron":true,"cron_expr":"5 7 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":4690485,"event":"job:stop","queue_time":386739,"attempt":1,"tags":["local_data"]} 09:05:24.114 [info] {"source":"oban","duration":1376,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:54.115 [info] {"source":"oban","duration":1059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.383 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:24.118 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:54.120 [info] {"source":"oban","duration":1768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.384 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:24.123 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:54.124 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.385 [info] {"source":"oban","duration":377,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:24.126 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:54.128 [info] {"source":"oban","duration":1067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.386 [info] {"source":"oban","duration":285,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:24.130 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:54.132 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.387 [info] {"source":"oban","duration":605,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:24.134 [info] {"source":"oban","duration":897,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:54.136 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.389 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:24.138 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:54.140 [info] {"source":"oban","duration":944,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.390 [info] {"source":"oban","duration":415,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:24.142 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:54.145 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.391 [info] {"source":"oban","duration":430,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:24.146 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:54.148 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.392 [info] {"source":"oban","duration":398,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:24.150 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:54.152 [info] {"source":"oban","duration":1137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.393 [info] {"source":"oban","duration":461,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:24.154 [info] {"source":"oban","duration":1046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:54.156 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.394 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:24.159 [info] {"source":"oban","duration":1263,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:54.160 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.395 [info] {"source":"oban","duration":359,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:24.163 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:53.588 [info] {"args":{"id":1},"id":8893,"meta":{},"system_time":1776755873587670695,"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"]} 09:17:53.588 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1760.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] 09:17:53.589 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1761.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:17:53.592 [debug] QUERY OK source="media_items" db=2.4ms idle=1011.8ms 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] 09:17:53.599 [debug] QUERY OK source="media_items" db=7.0ms queue=0.1ms idle=11.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 09:17:53.600 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.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] 09:17:53.601 [debug] QUERY OK source="settings" db=0.1ms 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 [] 09:17:53.601 [debug] QUERY OK source="settings" db=0.1ms idle=12.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:17:53.606 [debug] QUERY OK source="media_items" db=3.0ms idle=10.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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [1] 09:17:53.608 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 09:17:53.609 [debug] Current batch of media processed. Will check again in 1000ms 09:17:53.609 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms 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 [] 09:17:53.609 [debug] QUERY OK source="settings" db=0.1ms 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 [] 09:17:53.609 [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 [] 09:17:53.610 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@laihofficial --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Lai H./%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7d/a6/7da69dcff4eafed982cb08c68e8632c15c120ca8523a72845806c401ce3cd558.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c0/97/c097a45f68af096284faa6064339aa8951623e7837801621c1bdfba7e5de6d21.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:17:54.164 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:54.609 [debug] Current batch of media processed. Will check again in 1000ms 09:17:55.610 [debug] Current batch of media processed. Will check again in 1000ms 09:17:56.611 [debug] Current batch of media processed. Will check again in 1000ms 09:17:57.612 [debug] Current batch of media processed. Will check again in 1000ms 09:17:58.613 [debug] Current batch of media processed. Will check again in 1000ms 09:17:59.614 [debug] Current batch of media processed. Will check again in 1000ms 09:18:00.406 [info] {"source":"oban","duration":9648,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:00.615 [debug] Current batch of media processed. Will check again in 1000ms 09:18:01.616 [debug] Current batch of media processed. Will check again in 1000ms 09:18:02.618 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 354, "filename" => "/downloads/Lai H#/2026-04-14 5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại/5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại [-kYa8qI3YqA].mp4", "id" => "-kYa8qI3YqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-kYa8qI3YqA", "playlist_index" => 1, "timestamp" => 1776165192, "title" => "5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại", "upload_date" => "20260414"} 09:18:02.619 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1790.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] 09:18:02.620 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1022.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] 09:18:02.623 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=792.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 11:13:12Z], 1] 09:18:02.630 [debug] QUERY OK source="media_items" db=6.3ms idle=796.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại", "f26a126f-66bf-4f03-891d-9251098a1146", 354, false, "-kYa8qI3YqA", "https://www.youtube.com/watch?v=-kYa8qI3YqA", 1, "/downloads/Lai H#/2026-04-14 5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại/5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại [-kYa8qI3YqA].mp4", false, false, false, 1, [], 98, ~U[2026-04-14 11:13:12Z], ~U[2026-04-21 07:18:02Z], ~U[2026-04-21 07:18:02Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại", 354, false, "-kYa8qI3YqA", "https://www.youtube.com/watch?v=-kYa8qI3YqA", "/downloads/Lai H#/2026-04-14 5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại/5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại [-kYa8qI3YqA].mp4", false, 1, ~U[2026-04-14 11:13:12Z]] 09:18:02.631 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=31.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] 09:18:02.632 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms 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] 09:18:02.634 [debug] QUERY OK source="media_items" db=0.6ms 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 [23414] 09:18:02.634 [debug] Current batch of media processed. Will check again in 1000ms 09:18:03.634 [debug] Current batch of media processed. Will check again in 1000ms 09:18:04.635 [debug] Current batch of media processed. Will check again in 1000ms 09:18:05.636 [debug] Current batch of media processed. Will check again in 1000ms 09:18:06.637 [debug] Current batch of media processed. Will check again in 1000ms 09:18:07.639 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 474, "filename" => "/downloads/Lai H#/2026-04-10 Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…/Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này… [7MgM2Y1Puw4].mp4", "id" => "7MgM2Y1Puw4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7MgM2Y1Puw4", "playlist_index" => 2, "timestamp" => 1775820566, "title" => "Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…", "upload_date" => "20260410"} 09:18:07.639 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1811.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] 09:18:07.640 [debug] QUERY OK source="sources" db=0.2ms idle=1812.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] 09:18:07.642 [debug] QUERY OK source="media_items" db=1.9ms idle=1812.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 11:29:26Z], 1] 09:18:07.646 [debug] QUERY OK source="media_items" db=3.2ms idle=1031.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…", "aca6b4ef-b089-4fd9-bd27-6a22389e391b", 474, false, "7MgM2Y1Puw4", "https://www.youtube.com/watch?v=7MgM2Y1Puw4", 2, "/downloads/Lai H#/2026-04-10 Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…/Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này… [7MgM2Y1Puw4].mp4", false, false, false, 1, [], 98, ~U[2026-04-10 11:29:26Z], ~U[2026-04-21 07:18:07Z], ~U[2026-04-21 07:18:07Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…", 474, false, "7MgM2Y1Puw4", "https://www.youtube.com/watch?v=7MgM2Y1Puw4", "/downloads/Lai H#/2026-04-10 Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…/Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này… [7MgM2Y1Puw4].mp4", false, 1, ~U[2026-04-10 11:29:26Z]] 09:18:07.647 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=33.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] 09:18:07.648 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:18:07.649 [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 [23220] 09:18:07.649 [debug] Current batch of media processed. Will check again in 1000ms 09:18:08.649 [debug] Current batch of media processed. Will check again in 1000ms 09:18:09.650 [debug] Current batch of media processed. Will check again in 1000ms 09:18:10.651 [debug] Current batch of media processed. Will check again in 1000ms 09:18:11.653 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 586, "filename" => "/downloads/Lai H#/2026-04-07 7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)/7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết) [viqdlIAoquw].mp4", "id" => "viqdlIAoquw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=viqdlIAoquw", "playlist_index" => 3, "timestamp" => 1775559658, "title" => "7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)", "upload_date" => "20260407"} 09:18:11.653 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=825.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] 09:18:11.654 [debug] QUERY OK source="sources" db=0.2ms idle=826.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] 09:18:11.656 [debug] QUERY OK source="media_items" db=1.8ms idle=827.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 11:00:58Z], 1] 09:18:11.661 [debug] QUERY OK source="media_items" db=3.6ms idle=829.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)", "f1123eb6-87a5-463b-ade9-be45732adb07", 586, false, "viqdlIAoquw", "https://www.youtube.com/watch?v=viqdlIAoquw", 3, "/downloads/Lai H#/2026-04-07 7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)/7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết) [viqdlIAoquw].mp4", false, false, false, 1, [], 98, ~U[2026-04-07 11:00:58Z], ~U[2026-04-21 07:18:11Z], ~U[2026-04-21 07:18:11Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)", 586, false, "viqdlIAoquw", "https://www.youtube.com/watch?v=viqdlIAoquw", "/downloads/Lai H#/2026-04-07 7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)/7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết) [viqdlIAoquw].mp4", false, 1, ~U[2026-04-07 11:00:58Z]] 09:18:11.662 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=39.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] 09:18:11.662 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:18:11.663 [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 [23222] 09:18:11.663 [debug] Current batch of media processed. Will check again in 1000ms 09:18:12.664 [debug] Current batch of media processed. Will check again in 1000ms 09:18:13.665 [debug] Current batch of media processed. Will check again in 1000ms 09:18:14.666 [debug] Current batch of media processed. Will check again in 1000ms 09:18:15.667 [debug] Current batch of media processed. Will check again in 1000ms 09:18:16.669 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 433, "filename" => "/downloads/Lai H#/2026-04-03 Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn/Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn [5oj7TyK_GWY].mp4", "id" => "5oj7TyK_GWY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5oj7TyK_GWY", "playlist_index" => 4, "timestamp" => 1775214007, "title" => "Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn", "upload_date" => "20260403"} 09:18:16.670 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1841.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] 09:18:16.670 [debug] QUERY OK source="sources" db=0.2ms idle=1842.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] 09:18:16.673 [debug] QUERY OK source="media_items" db=2.2ms idle=1843.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 11:00:07Z], 1] 09:18:16.677 [debug] QUERY OK source="media_items" db=3.1ms idle=1042.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn", "8d1255c9-f4b1-4388-bc7c-7dc187db98c6", 433, false, "5oj7TyK_GWY", "https://www.youtube.com/watch?v=5oj7TyK_GWY", 4, "/downloads/Lai H#/2026-04-03 Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn/Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn [5oj7TyK_GWY].mp4", false, false, false, 1, [], 98, ~U[2026-04-03 11:00:07Z], ~U[2026-04-21 07:18:16Z], ~U[2026-04-21 07:18:16Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn", 433, false, "5oj7TyK_GWY", "https://www.youtube.com/watch?v=5oj7TyK_GWY", "/downloads/Lai H#/2026-04-03 Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn/Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn [5oj7TyK_GWY].mp4", false, 1, ~U[2026-04-03 11:00:07Z]] 09:18:16.678 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=44.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] 09:18:16.679 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:18:16.680 [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 [23224] 09:18:16.680 [debug] Current batch of media processed. Will check again in 1000ms 09:18:17.681 [debug] Current batch of media processed. Will check again in 1000ms 09:18:18.682 [debug] Current batch of media processed. Will check again in 1000ms 09:18:19.683 [debug] Current batch of media processed. Will check again in 1000ms 09:18:20.685 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 638, "filename" => "/downloads/Lai H#/2026-04-01 Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân/Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân [a7AnaXe5jBY].mp4", "id" => "a7AnaXe5jBY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=a7AnaXe5jBY", "playlist_index" => 5, "timestamp" => 1775040395, "title" => "Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân", "upload_date" => "20260401"} 09:18:20.685 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=857.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] 09:18:20.686 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=858.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] 09:18:20.689 [debug] QUERY OK source="media_items" db=1.9ms idle=859.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 10:46:35Z], 1] 09:18:20.693 [debug] QUERY OK source="media_items" db=3.3ms idle=861.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân", "b3fc25e2-95b4-4121-aa91-d22df3a9b9dc", 638, false, "a7AnaXe5jBY", "https://www.youtube.com/watch?v=a7AnaXe5jBY", 5, "/downloads/Lai H#/2026-04-01 Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân/Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân [a7AnaXe5jBY].mp4", false, false, false, 1, [], 98, ~U[2026-04-01 10:46:35Z], ~U[2026-04-21 07:18:20Z], ~U[2026-04-21 07:18:20Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân", 638, false, "a7AnaXe5jBY", "https://www.youtube.com/watch?v=a7AnaXe5jBY", "/downloads/Lai H#/2026-04-01 Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân/Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân [a7AnaXe5jBY].mp4", false, 1, ~U[2026-04-01 10:46:35Z]] 09:18:20.694 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=49.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] 09:18:20.694 [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] 09:18:20.695 [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 [23226] 09:18:20.695 [debug] Current batch of media processed. Will check again in 1000ms 09:18:21.696 [debug] Current batch of media processed. Will check again in 1000ms 09:18:22.698 [debug] Current batch of media processed. Will check again in 1000ms 09:18:23.698 [debug] Current batch of media processed. Will check again in 1000ms 09:18:24.166 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:24.700 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 701, "filename" => "/downloads/Lai H#/2026-03-25 5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)/5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi) [NeI8kHIsIv8].mp4", "id" => "NeI8kHIsIv8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NeI8kHIsIv8", "playlist_index" => 6, "timestamp" => 1774436734, "title" => "5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)", "upload_date" => "20260325"} 09:18:24.700 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=872.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] 09:18:24.701 [debug] QUERY OK source="sources" db=0.2ms idle=873.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] 09:18:24.703 [debug] QUERY OK source="media_items" db=1.7ms idle=873.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-25 11:05:34Z], 1] 09:18:24.719 [debug] QUERY OK source="media_items" db=14.3ms queue=0.1ms idle=537.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)", "ce985c65-1b24-49f2-a001-d1c53b8d0c52", 701, false, "NeI8kHIsIv8", "https://www.youtube.com/watch?v=NeI8kHIsIv8", 6, "/downloads/Lai H#/2026-03-25 5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)/5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi) [NeI8kHIsIv8].mp4", false, false, false, 1, [], 98, ~U[2026-03-25 11:05:34Z], ~U[2026-04-21 07:18:24Z], ~U[2026-04-21 07:18:24Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)", 701, false, "NeI8kHIsIv8", "https://www.youtube.com/watch?v=NeI8kHIsIv8", "/downloads/Lai H#/2026-03-25 5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)/5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi) [NeI8kHIsIv8].mp4", false, 1, ~U[2026-03-25 11:05:34Z]] 09:18:24.719 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=67.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] 09:18:24.720 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=19.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] 09:18:24.721 [debug] QUERY OK source="media_items" db=0.3ms idle=19.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 [22738] 09:18:24.721 [debug] Current batch of media processed. Will check again in 1000ms 09:18:25.721 [debug] Current batch of media processed. Will check again in 1000ms 09:18:26.722 [debug] Current batch of media processed. Will check again in 1000ms 09:18:27.723 [debug] Current batch of media processed. Will check again in 1000ms 09:18:28.725 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 522, "filename" => "/downloads/Lai H#/2026-03-04 Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?/Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình? [NmjrtPug-Ao].mp4", "id" => "NmjrtPug-Ao", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NmjrtPug-Ao", "playlist_index" => 7, "timestamp" => 1772621747, "title" => "Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?", "upload_date" => "20260304"} 09:18:28.726 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=898.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] 09:18:28.728 [debug] QUERY OK source="sources" db=0.7ms idle=899.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] 09:18:28.732 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=900.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-04 10:55:47Z], 1] 09:18:28.737 [debug] QUERY OK source="media_items" db=3.4ms queue=0.1ms idle=905.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?", "7ff70670-16e4-4bad-9c3e-d4c8b1ed11b2", 522, false, "NmjrtPug-Ao", "https://www.youtube.com/watch?v=NmjrtPug-Ao", 7, "/downloads/Lai H#/2026-03-04 Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?/Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình? [NmjrtPug-Ao].mp4", false, false, false, 1, [], 98, ~U[2026-03-04 10:55:47Z], ~U[2026-04-21 07:18:28Z], ~U[2026-04-21 07:18:28Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?", 522, false, "NmjrtPug-Ao", "https://www.youtube.com/watch?v=NmjrtPug-Ao", "/downloads/Lai H#/2026-03-04 Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?/Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình? [NmjrtPug-Ao].mp4", false, 1, ~U[2026-03-04 10:55:47Z]] 09:18:28.738 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=77.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] 09:18:28.739 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.4ms idle=12.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] 09:18:28.742 [debug] QUERY OK source="media_items" db=0.8ms queue=0.3ms 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 [21728] 09:18:28.742 [debug] Current batch of media processed. Will check again in 1000ms 09:18:29.743 [debug] Current batch of media processed. Will check again in 1000ms 09:18:30.744 [debug] Current batch of media processed. Will check again in 1000ms 09:18:31.745 [debug] Current batch of media processed. Will check again in 1000ms 09:18:32.746 [debug] Current batch of media processed. Will check again in 1000ms 09:18:33.747 [debug] Current batch of media processed. Will check again in 1000ms 09:18:34.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 504, "filename" => "/downloads/Lai H#/2026-02-21 Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking?/Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking? [39WRjdnCqdc].mp4", "id" => "39WRjdnCqdc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=39WRjdnCqdc", "playlist_index" => 8, "timestamp" => 1771673142, "title" => "Tại Sao Bạn Thành \"Mồi Ngon\" Cho Gái Booking?", "upload_date" => "20260221"} 09:18:34.750 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=921.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] 09:18:34.751 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=922.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] 09:18:34.753 [debug] QUERY OK source="media_items" db=1.8ms idle=923.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-21 11:25:42Z], 1] 09:18:34.757 [debug] QUERY OK source="media_items" db=3.4ms idle=925.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Bạn Thành \"Mồi Ngon\" Cho Gái Booking?", "55c18ec3-ed85-4170-afc8-7ac178dc72ba", 504, false, "39WRjdnCqdc", "https://www.youtube.com/watch?v=39WRjdnCqdc", 8, "/downloads/Lai H#/2026-02-21 Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking?/Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking? [39WRjdnCqdc].mp4", false, false, false, 1, [], 98, ~U[2026-02-21 11:25:42Z], ~U[2026-04-21 07:18:34Z], ~U[2026-04-21 07:18:34Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Bạn Thành \"Mồi Ngon\" Cho Gái Booking?", 504, false, "39WRjdnCqdc", "https://www.youtube.com/watch?v=39WRjdnCqdc", "/downloads/Lai H#/2026-02-21 Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking?/Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking? [39WRjdnCqdc].mp4", false, 1, ~U[2026-02-21 11:25:42Z]] 09:18:34.758 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=86.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] 09:18:34.759 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.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] 09:18:34.760 [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 [20845] 09:18:34.760 [debug] Current batch of media processed. Will check again in 1000ms 09:18:35.760 [debug] Current batch of media processed. Will check again in 1000ms 09:18:36.761 [debug] Current batch of media processed. Will check again in 1000ms 09:18:37.762 [debug] Current batch of media processed. Will check again in 1000ms 09:18:38.764 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 433, "filename" => "/downloads/Lai H#/2026-02-17 5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)/5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT) [LCLX05_lTVY].mp4", "id" => "LCLX05_lTVY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LCLX05_lTVY", "playlist_index" => 9, "timestamp" => 1771327858, "title" => "5 Thứ \"Kỳ Quặc\" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)", "upload_date" => "20260217"} 09:18:38.765 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=936.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] 09:18:38.766 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=938.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] 09:18:38.770 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=938.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 11:30:58Z], 1] 09:18:38.775 [debug] QUERY OK source="media_items" db=4.5ms queue=0.1ms idle=942.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Thứ \"Kỳ Quặc\" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)", "f5aa29bc-22eb-48e3-817c-55a43082917e", 433, false, "LCLX05_lTVY", "https://www.youtube.com/watch?v=LCLX05_lTVY", 9, "/downloads/Lai H#/2026-02-17 5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)/5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT) [LCLX05_lTVY].mp4", false, false, false, 1, [], 98, ~U[2026-02-17 11:30:58Z], ~U[2026-04-21 07:18:38Z], ~U[2026-04-21 07:18:38Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Thứ \"Kỳ Quặc\" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)", 433, false, "LCLX05_lTVY", "https://www.youtube.com/watch?v=LCLX05_lTVY", "/downloads/Lai H#/2026-02-17 5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)/5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT) [LCLX05_lTVY].mp4", false, 1, ~U[2026-02-17 11:30:58Z]] 09:18:38.778 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=94.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] 09:18:38.780 [debug] QUERY OK source="media_profiles" db=2.1ms queue=0.1ms 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] 09:18:38.782 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms 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 [20523] 09:18:38.783 [debug] Current batch of media processed. Will check again in 1000ms 09:18:39.783 [debug] Current batch of media processed. Will check again in 1000ms 09:18:40.785 [debug] Current batch of media processed. Will check again in 1000ms 09:18:41.785 [debug] Current batch of media processed. Will check again in 1000ms 09:18:42.787 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 523, "filename" => "/downloads/Lai H#/2026-02-14 Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)/Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này) [l8OS8pZBogA].mp4", "id" => "l8OS8pZBogA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l8OS8pZBogA", "playlist_index" => 10, "timestamp" => 1771074683, "title" => "Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)", "upload_date" => "20260214"} 09:18:42.788 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=960.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] 09:18:42.789 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=961.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] 09:18:42.793 [debug] QUERY OK source="media_items" db=3.0ms idle=962.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 13:11:23Z], 1] 09:18:42.799 [debug] QUERY OK source="media_items" db=4.5ms idle=966.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)", "4e065754-3e9f-4259-947a-0755c30013c7", 523, false, "l8OS8pZBogA", "https://www.youtube.com/watch?v=l8OS8pZBogA", 10, "/downloads/Lai H#/2026-02-14 Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)/Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này) [l8OS8pZBogA].mp4", false, false, false, 1, [], 98, ~U[2026-02-14 13:11:23Z], ~U[2026-04-21 07:18:42Z], ~U[2026-04-21 07:18:42Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)", 523, false, "l8OS8pZBogA", "https://www.youtube.com/watch?v=l8OS8pZBogA", "/downloads/Lai H#/2026-02-14 Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)/Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này) [l8OS8pZBogA].mp4", false, 1, ~U[2026-02-14 13:11:23Z]] 09:18:42.801 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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] 09:18:42.802 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 09:18:42.803 [debug] QUERY OK source="media_items" db=0.6ms 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 [20286] 09:18:42.804 [debug] Current batch of media processed. Will check again in 1000ms 09:18:43.822 [debug] Current batch of media processed. Will check again in 1000ms 09:18:44.822 [debug] Current batch of media processed. Will check again in 1000ms 09:18:45.824 [debug] Current batch of media processed. Will check again in 1000ms 09:18:46.825 [debug] Current batch of media processed. Will check again in 1000ms 09:18:47.827 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 523, "filename" => "/downloads/Lai H#/2026-02-10 Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO/Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO [Rw0MhZ0qs20].mp4", "id" => "Rw0MhZ0qs20", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rw0MhZ0qs20", "playlist_index" => 11, "timestamp" => 1770723429, "title" => "Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO", "upload_date" => "20260210"} 09:18:47.828 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1980.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] 09:18:47.828 [debug] QUERY OK source="sources" db=0.2ms idle=1981.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] 09:18:47.831 [debug] QUERY OK source="media_items" db=1.9ms idle=1093.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:37:09Z], 1] 09:18:47.835 [debug] QUERY OK source="media_items" db=3.3ms idle=984.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO", "5495be3b-362e-43ed-80cd-e39bda606d07", 523, false, "Rw0MhZ0qs20", "https://www.youtube.com/watch?v=Rw0MhZ0qs20", 11, "/downloads/Lai H#/2026-02-10 Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO/Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO [Rw0MhZ0qs20].mp4", false, false, false, 1, [], 98, ~U[2026-02-10 11:37:09Z], ~U[2026-04-21 07:18:47Z], ~U[2026-04-21 07:18:47Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO", 523, false, "Rw0MhZ0qs20", "https://www.youtube.com/watch?v=Rw0MhZ0qs20", "/downloads/Lai H#/2026-02-10 Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO/Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO [Rw0MhZ0qs20].mp4", false, 1, ~U[2026-02-10 11:37:09Z]] 09:18:47.836 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=97.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] 09:18:47.836 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 09:18:47.837 [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 [19965] 09:18:47.837 [debug] Current batch of media processed. Will check again in 1000ms 09:18:48.838 [debug] Current batch of media processed. Will check again in 1000ms 09:18:49.845 [debug] Current batch of media processed. Will check again in 1000ms 09:18:50.846 [debug] Current batch of media processed. Will check again in 1000ms 09:18:51.848 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 559, "filename" => "/downloads/Lai H#/2026-02-05 Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?/Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ? [OkxYbB7NXOE].mp4", "id" => "OkxYbB7NXOE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OkxYbB7NXOE", "playlist_index" => 12, "timestamp" => 1770292262, "title" => "Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?", "upload_date" => "20260205"} 09:18:51.848 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=999.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] 09:18:51.849 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1000.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] 09:18:51.851 [debug] QUERY OK source="media_items" db=1.9ms idle=1000.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:51:02Z], 1] 09:18:51.855 [debug] QUERY OK source="media_items" db=2.7ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?", "06ada405-6d42-4ea1-837d-3699f592be0e", 559, false, "OkxYbB7NXOE", "https://www.youtube.com/watch?v=OkxYbB7NXOE", 12, "/downloads/Lai H#/2026-02-05 Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?/Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ? [OkxYbB7NXOE].mp4", false, false, false, 1, [], 98, ~U[2026-02-05 11:51:02Z], ~U[2026-04-21 07:18:51Z], ~U[2026-04-21 07:18:51Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?", 559, false, "OkxYbB7NXOE", "https://www.youtube.com/watch?v=OkxYbB7NXOE", "/downloads/Lai H#/2026-02-05 Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?/Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ? [OkxYbB7NXOE].mp4", false, 1, ~U[2026-02-05 11:51:02Z]] 09:18:51.856 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=106.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] 09:18:51.856 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:18:51.857 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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 [19561] 09:18:51.857 [debug] Current batch of media processed. Will check again in 1000ms 09:18:52.858 [debug] Current batch of media processed. Will check again in 1000ms 09:18:53.859 [debug] Current batch of media processed. Will check again in 1000ms 09:18:54.168 [info] {"source":"oban","duration":1015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:54.860 [debug] Current batch of media processed. Will check again in 1000ms 09:18:55.862 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 624, "filename" => "/downloads/Lai H#/2026-01-30 Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)/Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp) [cCfdyt7gBb4].mp4", "id" => "cCfdyt7gBb4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cCfdyt7gBb4", "playlist_index" => 13, "timestamp" => 1769771196, "title" => "Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)", "upload_date" => "20260130"} 09:18:55.863 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=104.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] 09:18:55.864 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=14.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] 09:18:55.866 [debug] QUERY OK source="media_items" db=2.2ms idle=15.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:06:36Z], 1] 09:18:55.871 [debug] QUERY OK source="media_items" db=3.1ms idle=18.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)", "7fb87694-5c46-441f-9004-943225896088", 624, false, "cCfdyt7gBb4", "https://www.youtube.com/watch?v=cCfdyt7gBb4", 13, "/downloads/Lai H#/2026-01-30 Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)/Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp) [cCfdyt7gBb4].mp4", false, false, false, 1, [], 98, ~U[2026-01-30 11:06:36Z], ~U[2026-04-21 07:18:55Z], ~U[2026-04-21 07:18:55Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)", 624, false, "cCfdyt7gBb4", "https://www.youtube.com/watch?v=cCfdyt7gBb4", "/downloads/Lai H#/2026-01-30 Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)/Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp) [cCfdyt7gBb4].mp4", false, 1, ~U[2026-01-30 11:06:36Z]] 09:18:55.872 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=22.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] 09:18:55.873 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 09:18:55.874 [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 [19078] 09:18:55.874 [debug] Current batch of media processed. Will check again in 1000ms 09:18:56.874 [debug] Current batch of media processed. Will check again in 1000ms 09:18:57.879 [debug] Current batch of media processed. Will check again in 1000ms 09:18:58.880 [debug] Current batch of media processed. Will check again in 1000ms 09:18:59.881 [debug] Current batch of media processed. Will check again in 1000ms 09:19:00.409 [info] {"source":"oban","duration":541,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:00.883 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 384, "filename" => "/downloads/Lai H#/2026-01-23 25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)/25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC) [_nBDIlifc3A].mp4", "id" => "_nBDIlifc3A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_nBDIlifc3A", "playlist_index" => 14, "timestamp" => 1769169337, "title" => "25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)", "upload_date" => "20260123"} 09:19:00.884 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=1034.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] 09:19:00.885 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1036.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] 09:19:00.888 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=1037.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:55:37Z], 1] 09:19:00.893 [debug] QUERY OK source="media_items" db=3.4ms queue=0.2ms idle=480.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)", "afe9c18b-5df7-4f22-be5b-02aa16954af5", 384, false, "_nBDIlifc3A", "https://www.youtube.com/watch?v=_nBDIlifc3A", 14, "/downloads/Lai H#/2026-01-23 25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)/25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC) [_nBDIlifc3A].mp4", false, false, false, 1, [], 98, ~U[2026-01-23 11:55:37Z], ~U[2026-04-21 07:19:00Z], ~U[2026-04-21 07:19:00Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)", 384, false, "_nBDIlifc3A", "https://www.youtube.com/watch?v=_nBDIlifc3A", "/downloads/Lai H#/2026-01-23 25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)/25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC) [_nBDIlifc3A].mp4", false, 1, ~U[2026-01-23 11:55:37Z]] 09:19:00.894 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=123.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] 09:19:00.895 [debug] QUERY OK source="media_profiles" db=0.3ms idle=10.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] 09:19:00.896 [debug] QUERY OK source="media_items" db=0.5ms 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 [18516] 09:19:00.896 [debug] Current batch of media processed. Will check again in 1000ms 09:19:01.896 [debug] Current batch of media processed. Will check again in 1000ms 09:19:02.897 [debug] Current batch of media processed. Will check again in 1000ms 09:19:03.898 [debug] Current batch of media processed. Will check again in 1000ms 09:19:04.899 [debug] Current batch of media processed. Will check again in 1000ms 09:19:05.901 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 449, "filename" => "/downloads/Lai H#/2026-01-21 Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)/Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa) [2SNBH7ReTeA].mp4", "id" => "2SNBH7ReTeA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2SNBH7ReTeA", "playlist_index" => 15, "timestamp" => 1768996137, "title" => "Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)", "upload_date" => "20260121"} 09:19:05.901 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1052.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] 09:19:05.902 [debug] QUERY OK source="sources" db=0.2ms idle=1053.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] 09:19:05.904 [debug] QUERY OK source="media_items" db=2.0ms idle=1053.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:48:57Z], 1] 09:19:05.908 [debug] QUERY OK source="media_items" db=2.9ms idle=1056.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)", "205b02b5-9db9-4784-9378-522ee571c21c", 449, false, "2SNBH7ReTeA", "https://www.youtube.com/watch?v=2SNBH7ReTeA", 15, "/downloads/Lai H#/2026-01-21 Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)/Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa) [2SNBH7ReTeA].mp4", false, false, false, 1, [], 98, ~U[2026-01-21 11:48:57Z], ~U[2026-04-21 07:19:05Z], ~U[2026-04-21 07:19:05Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)", 449, false, "2SNBH7ReTeA", "https://www.youtube.com/watch?v=2SNBH7ReTeA", "/downloads/Lai H#/2026-01-21 Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)/Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa) [2SNBH7ReTeA].mp4", false, 1, ~U[2026-01-21 11:48:57Z]] 09:19:05.909 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=128.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] 09:19:05.910 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.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] 09:19:05.910 [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 [18353] 09:19:05.911 [debug] Current batch of media processed. Will check again in 1000ms 09:19:06.911 [debug] Current batch of media processed. Will check again in 1000ms 09:19:07.912 [debug] Current batch of media processed. Will check again in 1000ms 09:19:08.798 [info] {"args":{"id":6},"id":8894,"meta":{},"system_time":1776755948798044323,"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"]} 09:19:08.799 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=949.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" = ?) [6] 09:19:08.799 [debug] QUERY OK source="settings" db=0.1ms 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 [] 09:19:08.802 [debug] QUERY OK source="media_items" db=2.3ms idle=951.1ms 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")))) [6] 09:19:08.807 [debug] QUERY OK source="media_items" db=4.5ms idle=15.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 09:19:08.808 [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] 09:19:08.809 [debug] QUERY OK source="settings" db=0.1ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:19:08.809 [debug] QUERY OK source="settings" db=0.1ms 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 [] 09:19:08.816 [debug] QUERY OK source="media_items" db=6.3ms idle=8.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."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [6] 09:19:08.820 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 09:19:08.821 [debug] Current batch of media processed. Will check again in 1000ms 09:19:08.821 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 09:19:08.821 [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 [] 09:19:08.822 [debug] QUERY OK source="settings" db=0.1ms idle=12.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:19:08.822 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Cu%E1%BB%99cS%E1%BB%91ngH%C3%B4nNh%C3%A2n-377 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/af/6a/af6a5a10252aef3e50f938e45911e24e489a376b591cfe6978a15ba1aa891e5c.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f6/ec/f6ec228661a07080191bcab9c24ce33d14db268403eed77e69ea94b653634faa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:19:08.914 [debug] Current batch of media processed. Will check again in 1000ms 09:19:09.821 [debug] Current batch of media processed. Will check again in 1000ms 09:19:09.915 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 424, "filename" => "/downloads/Lai H#/2026-01-16 7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường/7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường [Dg3Yup2OuhM].mp4", "id" => "Dg3Yup2OuhM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Dg3Yup2OuhM", "playlist_index" => 16, "timestamp" => 1768561248, "title" => "7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường", "upload_date" => "20260116"} 09:19:09.915 [debug] QUERY OK source="sources" db=0.3ms idle=125.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] 09:19:09.916 [debug] QUERY OK source="sources" db=0.2ms idle=67.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] 09:19:09.919 [debug] QUERY OK source="media_items" db=2.0ms idle=67.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 11:00:48Z], 1] 09:19:09.923 [debug] QUERY OK source="media_items" db=3.4ms idle=70.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường", "80bd16bb-4770-4164-b4f7-46ab463692e4", 424, false, "Dg3Yup2OuhM", "https://www.youtube.com/watch?v=Dg3Yup2OuhM", 16, "/downloads/Lai H#/2026-01-16 7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường/7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường [Dg3Yup2OuhM].mp4", false, false, false, 1, [], 98, ~U[2026-01-16 11:00:48Z], ~U[2026-04-21 07:19:09Z], ~U[2026-04-21 07:19:09Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường", 424, false, "Dg3Yup2OuhM", "https://www.youtube.com/watch?v=Dg3Yup2OuhM", "/downloads/Lai H#/2026-01-16 7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường/7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường [Dg3Yup2OuhM].mp4", false, 1, ~U[2026-01-16 11:00:48Z]] 09:19:09.923 [debug] QUERY OK source="sources" db=0.3ms idle=74.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] 09:19:09.924 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 09:19:09.925 [debug] QUERY OK source="media_items" db=0.6ms 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 [17951] 09:19:09.925 [debug] Current batch of media processed. Will check again in 1000ms 09:19:10.822 [debug] Current batch of media processed. Will check again in 1000ms 09:19:10.926 [debug] Current batch of media processed. Will check again in 1000ms 09:19:11.823 [debug] Current batch of media processed. Will check again in 1000ms 09:19:11.927 [debug] Current batch of media processed. Will check again in 1000ms 09:19:12.824 [debug] Current batch of media processed. Will check again in 1000ms 09:19:12.928 [debug] Current batch of media processed. Will check again in 1000ms 09:19:13.825 [debug] Current batch of media processed. Will check again in 1000ms 09:19:13.930 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 515, "filename" => "/downloads/Lai H#/2026-01-13 4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)/4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH) [tOhza2CV2PM].mp4", "id" => "tOhza2CV2PM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tOhza2CV2PM", "playlist_index" => 17, "timestamp" => 1768302107, "title" => "4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)", "upload_date" => "20260113"} 09:19:13.931 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=128.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] 09:19:13.932 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=82.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] 09:19:13.936 [debug] QUERY OK source="media_items" db=3.7ms queue=0.5ms idle=83.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 11:01:47Z], 1] 09:19:13.941 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=88.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)", "24640f89-6280-402e-8620-b7c8d3477a0a", 515, false, "tOhza2CV2PM", "https://www.youtube.com/watch?v=tOhza2CV2PM", 17, "/downloads/Lai H#/2026-01-13 4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)/4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH) [tOhza2CV2PM].mp4", false, false, false, 1, [], 98, ~U[2026-01-13 11:01:47Z], ~U[2026-04-21 07:19:13Z], ~U[2026-04-21 07:19:13Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)", 515, false, "tOhza2CV2PM", "https://www.youtube.com/watch?v=tOhza2CV2PM", "/downloads/Lai H#/2026-01-13 4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)/4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH) [tOhza2CV2PM].mp4", false, 1, ~U[2026-01-13 11:01:47Z]] 09:19:13.942 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=92.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] 09:19:13.944 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms 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] 09:19:13.945 [debug] QUERY OK source="media_items" db=0.6ms idle=12.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 [17708] 09:19:13.945 [debug] Current batch of media processed. Will check again in 1000ms 09:19:14.826 [debug] Current batch of media processed. Will check again in 1000ms 09:19:14.945 [debug] Current batch of media processed. Will check again in 1000ms 09:19:15.827 [debug] Current batch of media processed. Will check again in 1000ms 09:19:15.947 [debug] Current batch of media processed. Will check again in 1000ms 09:19:16.828 [debug] Current batch of media processed. Will check again in 1000ms 09:19:16.947 [debug] Current batch of media processed. Will check again in 1000ms 09:19:17.829 [debug] Current batch of media processed. Will check again in 1000ms 09:19:17.948 [debug] Current batch of media processed. Will check again in 1000ms 09:19:18.831 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "💡 Phụ nữ hiếm khi nói thẳng “em thích anh”… nhưng lại rất giỏi “bật đèn xanh” bằng những tín hiệu tinh tế.\nKhi đã có cảm tình, họ thường cố tình để lộ những dấu hiệu đặc biệt — chỉ cần tinh ý là bạn sẽ nhận ra ngay.\n\n💘 Vấn đề là: nhiều đàn ông lại bỏ lỡ cơ hội chỉ vì không hiểu những tín hiệu này.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 4 điều phụ nữ thường “cố tình” để lộ khi muốn bật đèn xanh\n👉 Vì sao họ không chủ động nói thẳng mà chọn cách kín đáo\n👉 Cách nhận biết và phản hồi khéo léo để không mất cơ hội\n\n⚠️ Rất nhiều người:\n❌ Nghĩ đó chỉ là hành động bình thường\n❌ Không dám tiến tới vì sợ hiểu nhầm\n❌ Để cơ hội trôi qua một cách đáng tiếc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn hiểu rõ tín hiệu tình cảm từ phụ nữ\n✔️ Ai từng thắc mắc: “Cô ấy có đang bật đèn xanh cho mình không?”\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 2 và số 4 là rõ ràng nhất nhưng dễ bị bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #batdenxanh #tamlyphunu #phunuthichban #dauhieuphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan", "duration" => 903, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", "id" => "ZkpyRddZgU4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZkpyRddZgU4", "playlist_index" => 1, "timestamp" => 1776690005, "title" => "Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh", "upload_date" => "20260420"} 09:19:18.832 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=982.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 (?)) [6] 09:19:18.833 [debug] QUERY OK source="sources" db=0.2ms idle=983.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" = ?) [6] 09:19:18.835 [debug] QUERY OK source="media_items" db=2.0ms idle=984.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-20 13:00:05Z], 6] 09:19:18.842 [debug] QUERY OK source="media_items" db=5.5ms idle=987.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💡 Phụ nữ hiếm khi nói thẳng “em thích anh”… nhưng lại rất giỏi “bật đèn xanh” bằng những tín hiệu tinh tế.\nKhi đã có cảm tình, họ thường cố tình để lộ những dấu hiệu đặc biệt — chỉ cần tinh ý là bạn sẽ nhận ra ngay.\n\n💘 Vấn đề là: nhiều đàn ông lại bỏ lỡ cơ hội chỉ vì không hiểu những tín hiệu này.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 4 điều phụ nữ thường “cố tình” để lộ khi muốn bật đèn xanh\n👉 Vì sao họ không chủ động nói thẳng mà chọn cách kín đáo\n👉 Cách nhận biết và phản hồi khéo léo để không mất cơ hội\n\n⚠️ Rất nhiều người:\n❌ Nghĩ đó chỉ là hành động bình thường\n❌ Không dám tiến tới vì sợ hiểu nhầm\n❌ Để cơ hội trôi qua một cách đáng tiếc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn hiểu rõ tín hiệu tình cảm từ phụ nữ\n✔️ Ai từng thắc mắc: “Cô ấy có đang bật đèn xanh cho mình không?”\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 2 và số 4 là rõ ràng nhất nhưng dễ bị bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #batdenxanh #tamlyphunu #phunuthichban #dauhieuphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh", "32c53f40-71c5-4ce3-96c3-ee81a53dd56f", 903, false, "ZkpyRddZgU4", "https://www.youtube.com/watch?v=ZkpyRddZgU4", 1, "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", false, false, false, 6, [], 99, ~U[2026-04-20 13:00:05Z], ~U[2026-04-21 07:19:18Z], ~U[2026-04-21 07:19:18Z], "💡 Phụ nữ hiếm khi nói thẳng “em thích anh”… nhưng lại rất giỏi “bật đèn xanh” bằng những tín hiệu tinh tế.\nKhi đã có cảm tình, họ thường cố tình để lộ những dấu hiệu đặc biệt — chỉ cần tinh ý là bạn sẽ nhận ra ngay.\n\n💘 Vấn đề là: nhiều đàn ông lại bỏ lỡ cơ hội chỉ vì không hiểu những tín hiệu này.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 4 điều phụ nữ thường “cố tình” để lộ khi muốn bật đèn xanh\n👉 Vì sao họ không chủ động nói thẳng mà chọn cách kín đáo\n👉 Cách nhận biết và phản hồi khéo léo để không mất cơ hội\n\n⚠️ Rất nhiều người:\n❌ Nghĩ đó chỉ là hành động bình thường\n❌ Không dám tiến tới vì sợ hiểu nhầm\n❌ Để cơ hội trôi qua một cách đáng tiếc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn hiểu rõ tín hiệu tình cảm từ phụ nữ\n✔️ Ai từng thắc mắc: “Cô ấy có đang bật đèn xanh cho mình không?”\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 2 và số 4 là rõ ràng nhất nhưng dễ bị bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #batdenxanh #tamlyphunu #phunuthichban #dauhieuphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh", 903, false, "ZkpyRddZgU4", "https://www.youtube.com/watch?v=ZkpyRddZgU4", "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", false, 6, ~U[2026-04-20 13:00:05Z]] 09:19:18.843 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=22.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" = ?) [6] 09:19:18.843 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=11.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] 09:19:18.844 [debug] QUERY OK source="media_items" db=0.4ms 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 [23916] 09:19:18.844 [info] Kicking off download for media item #23916 (ZkpyRddZgU4) 09:19:18.849 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=5.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8898, 23916, ~U[2026-04-21 07:19:18Z], ~U[2026-04-21 07:19:18Z]] 09:19:18.849 [debug] Current batch of media processed. Will check again in 1000ms 09:19:18.857 [info] {"args":{"id":23916},"id":8898,"meta":{},"system_time":1776755958856795287,"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"]} 09:19:18.857 [debug] QUERY OK source="media_items" db=0.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 WHERE (m0."id" = ?) [23916] 09:19:18.858 [info] User scripts lifecyle file either not present or is empty. Skipping. 09:19:18.859 [debug] QUERY OK source="sources" db=0.3ms idle=11.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" = ?) [6] 09:19:18.860 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.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] 09:19:18.861 [debug] QUERY OK source="media_items" db=0.4ms 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 [23916] 09:19:18.863 [debug] QUERY OK source="media_metadata" db=0.4ms idle=6.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" = ?) [23916] 09:19:18.864 [debug] QUERY OK source="media_profiles" db=0.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] 09:19:18.865 [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 [] 09:19:18.865 [debug] QUERY OK source="settings" db=0.2ms 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 [] 09:19:18.866 [debug] Running yt-dlp command for action: get_downloadable_status 09:19:18.868 [debug] QUERY OK source="settings" db=0.2ms 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 [] 09:19:18.868 [debug] QUERY OK source="settings" db=0.1ms queue=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 [] 09:19:18.869 [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 [] 09:19:18.869 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/f7/ddf7ef03ffd55a56bcaf5444fd62166269b825dcf9596f76e373e824a223d4b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:19:18.950 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 406, "filename" => "/downloads/Lai H#/2026-01-08 Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)/Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không) [O2F_DG6Mrpc].mp4", "id" => "O2F_DG6Mrpc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O2F_DG6Mrpc", "playlist_index" => 18, "timestamp" => 1767870045, "title" => "Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái \"Hot Girl\"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)", "upload_date" => "20260108"} 09:19:18.954 [debug] QUERY OK source="sources" db=0.5ms idle=88.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] 09:19:18.958 [debug] QUERY OK source="sources" db=1.6ms queue=1.5ms idle=89.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] 09:19:18.966 [debug] QUERY OK source="media_items" db=4.1ms queue=3.0ms idle=91.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 11:00:45Z], 1] 09:19:18.974 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms idle=99.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái \"Hot Girl\"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)", "69f6714f-57c9-451d-94ef-8be9b87124f0", 406, false, "O2F_DG6Mrpc", "https://www.youtube.com/watch?v=O2F_DG6Mrpc", 18, "/downloads/Lai H#/2026-01-08 Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)/Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không) [O2F_DG6Mrpc].mp4", false, false, false, 1, [], 98, ~U[2026-01-08 11:00:45Z], ~U[2026-04-21 07:19:18Z], ~U[2026-04-21 07:19:18Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái \"Hot Girl\"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)", 406, false, "O2F_DG6Mrpc", "https://www.youtube.com/watch?v=O2F_DG6Mrpc", "/downloads/Lai H#/2026-01-08 Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)/Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không) [O2F_DG6Mrpc].mp4", false, 1, ~U[2026-01-08 11:00:45Z]] 09:19:18.976 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=105.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] 09:19:18.979 [debug] QUERY OK source="media_profiles" db=1.8ms queue=0.1ms idle=23.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] 09:19:18.982 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=22.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 [17305] 09:19:18.982 [debug] Current batch of media processed. Will check again in 1000ms 09:19:19.850 [debug] Current batch of media processed. Will check again in 1000ms 09:19:19.983 [debug] Current batch of media processed. Will check again in 1000ms 09:19:20.851 [debug] Current batch of media processed. Will check again in 1000ms 09:19:20.984 [debug] Current batch of media processed. Will check again in 1000ms 09:19:21.852 [debug] Current batch of media processed. Will check again in 1000ms 09:19:21.985 [debug] Current batch of media processed. Will check again in 1000ms 09:19:22.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động\nPhụ nữ có chồng vì sao vẫn có lúc rung động trước người đàn ông khác? Đâu là những hành động mập mờ tưởng chừng vô hại nhưng lại dễ khiến cảm xúc bị xáo trộn? Trong video này, bạn sẽ khám phá 7 hành động tinh tế của đàn ông có thể khiến phụ nữ đã có gia đình cảm thấy được quan tâm, thấu hiểu và dần nảy sinh rung động.\n\nTuy nhiên, ranh giới giữa quan tâm và vượt giới hạn là rất mong manh. Ông bà ta nói: “Lửa gần rơm lâu ngày cũng bén” – sự gần gũi nếu không kiểm soát sẽ dễ dẫn đến những hệ quả khó lường. Video không cổ xúy sai trái, mà giúp bạn hiểu rõ tâm lý – giữ vững giá trị – ứng xử đúng mực trong các mối quan hệ.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 1264, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-19 7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động/7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động [FzWYJ7UhgeY].mp4", "id" => "FzWYJ7UhgeY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FzWYJ7UhgeY", "playlist_index" => 2, "timestamp" => 1776603606, "title" => "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động", "upload_date" => "20260419"} 09:19:22.855 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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 (?)) [6] 09:19:22.856 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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" = ?) [6] 09:19:22.860 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=7.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-19 13:00:06Z], 6] 09:19:22.865 [debug] QUERY OK source="media_items" db=4.5ms idle=11.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động\nPhụ nữ có chồng vì sao vẫn có lúc rung động trước người đàn ông khác? Đâu là những hành động mập mờ tưởng chừng vô hại nhưng lại dễ khiến cảm xúc bị xáo trộn? Trong video này, bạn sẽ khám phá 7 hành động tinh tế của đàn ông có thể khiến phụ nữ đã có gia đình cảm thấy được quan tâm, thấu hiểu và dần nảy sinh rung động.\n\nTuy nhiên, ranh giới giữa quan tâm và vượt giới hạn là rất mong manh. Ông bà ta nói: “Lửa gần rơm lâu ngày cũng bén” – sự gần gũi nếu không kiểm soát sẽ dễ dẫn đến những hệ quả khó lường. Video không cổ xúy sai trái, mà giúp bạn hiểu rõ tâm lý – giữ vững giá trị – ứng xử đúng mực trong các mối quan hệ.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động", "f2100a25-85f9-4f4b-bbea-068604c8c398", 1264, false, "FzWYJ7UhgeY", "https://www.youtube.com/watch?v=FzWYJ7UhgeY", 2, "/downloads/Cuộc Sống Hôn Nhân/2026-04-19 7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động/7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động [FzWYJ7UhgeY].mp4", false, false, false, 6, [], 98, ~U[2026-04-19 13:00:06Z], ~U[2026-04-21 07:19:22Z], ~U[2026-04-21 07:19:22Z], "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động\nPhụ nữ có chồng vì sao vẫn có lúc rung động trước người đàn ông khác? Đâu là những hành động mập mờ tưởng chừng vô hại nhưng lại dễ khiến cảm xúc bị xáo trộn? Trong video này, bạn sẽ khám phá 7 hành động tinh tế của đàn ông có thể khiến phụ nữ đã có gia đình cảm thấy được quan tâm, thấu hiểu và dần nảy sinh rung động.\n\nTuy nhiên, ranh giới giữa quan tâm và vượt giới hạn là rất mong manh. Ông bà ta nói: “Lửa gần rơm lâu ngày cũng bén” – sự gần gũi nếu không kiểm soát sẽ dễ dẫn đến những hệ quả khó lường. Video không cổ xúy sai trái, mà giúp bạn hiểu rõ tâm lý – giữ vững giá trị – ứng xử đúng mực trong các mối quan hệ.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động", 1264, false, "FzWYJ7UhgeY", "https://www.youtube.com/watch?v=FzWYJ7UhgeY", "/downloads/Cuộc Sống Hôn Nhân/2026-04-19 7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động/7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động [FzWYJ7UhgeY].mp4", false, 6, ~U[2026-04-19 13:00:06Z]] 09:19:22.866 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=17.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" = ?) [6] 09:19:22.867 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=11.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] 09:19:22.869 [debug] QUERY OK source="media_items" db=0.7ms 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 [23832] 09:19:22.869 [debug] Current batch of media processed. Will check again in 1000ms 09:19:22.987 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "duration" => 631, "filename" => "/downloads/Lai H#/2026-01-02 Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)/Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...) [tFxLcyt7qW0].mp4", "id" => "tFxLcyt7qW0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tFxLcyt7qW0", "playlist_index" => 19, "timestamp" => 1767354601, "title" => "Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)", "upload_date" => "20260102"} 09:19:22.988 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=127.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] 09:19:22.988 [debug] QUERY OK source="sources" db=0.2ms idle=123.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] 09:19:22.990 [debug] QUERY OK source="media_items" db=1.7ms idle=122.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-02 11:50:01Z], 1] 09:19:22.994 [debug] QUERY OK source="media_items" db=2.9ms idle=123.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)", "d7159f5e-255d-416e-b702-3ade498cc36e", 631, false, "tFxLcyt7qW0", "https://www.youtube.com/watch?v=tFxLcyt7qW0", 19, "/downloads/Lai H#/2026-01-02 Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)/Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...) [tFxLcyt7qW0].mp4", false, false, false, 1, [], 98, ~U[2026-01-02 11:50:01Z], ~U[2026-04-21 07:19:22Z], ~U[2026-04-21 07:19:22Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)", 631, false, "tFxLcyt7qW0", "https://www.youtube.com/watch?v=tFxLcyt7qW0", "/downloads/Lai H#/2026-01-02 Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)/Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...) [tFxLcyt7qW0].mp4", false, 1, ~U[2026-01-02 11:50:01Z]] 09:19:22.995 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=126.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] 09:19:22.996 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 09:19:22.997 [debug] QUERY OK source="media_items" db=0.4ms idle=7.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 [16830] 09:19:22.997 [debug] Current batch of media processed. Will check again in 1000ms 09:19:23.869 [debug] Current batch of media processed. Will check again in 1000ms 09:19:23.997 [debug] Current batch of media processed. Will check again in 1000ms 09:19:24.171 [info] {"source":"oban","duration":1774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:24.870 [debug] Current batch of media processed. Will check again in 1000ms 09:19:24.998 [debug] Current batch of media processed. Will check again in 1000ms 09:19:25.871 [debug] Current batch of media processed. Will check again in 1000ms 09:19:26.000 [debug] Current batch of media processed. Will check again in 1000ms 09:19:26.641 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dd/f7/ddf7ef03ffd55a56bcaf5444fd62166269b825dcf9596f76e373e824a223d4b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:19:26.642 [debug] Running yt-dlp command for action: download 09:19:26.643 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1793.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:19:26.644 [debug] QUERY OK source="settings" db=0.4ms idle=1794.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:19:26.645 [debug] QUERY OK source="settings" db=0.4ms 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 [] 09:19:26.646 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/62/b162f71018fd7e378a6bcda53354993f3005713d3123fdeae563008d7745f97e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:19:26.873 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!\nPhụ nữ hỏi vay tiền – nên cho hay từ chối? Đây là tình huống khiến nhiều đàn ông lúng túng, vì chỉ cần xử lý sai có thể “mất cả tiền lẫn tình”. Trong video này, bạn sẽ khám phá 7 câu trả lời khôn ngoan giúp bạn vừa giữ được tiền bạc, vừa giữ được sự tôn trọng và mối quan hệ.\n\nTừ cách nói khéo léo, tinh tế đến cách đặt giới hạn rõ ràng – tất cả đều dựa trên tâm lý thực tế trong các mối quan hệ. Ông bà ta có câu: “Tiền bạc phân minh, ái tình dứt khoát” – càng thân thiết, càng cần rõ ràng. Xem hết video để biết đâu là cách ứng xử khiến người khác nể phục thay vì khó chịu.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 953, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-18 Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!/Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này! [LTtMrtZnENo].mp4", "id" => "LTtMrtZnENo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LTtMrtZnENo", "playlist_index" => 3, "timestamp" => 1776517205, "title" => "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!", "upload_date" => "20260418"} 09:19:26.874 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1024.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 (?)) [6] 09:19:26.874 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=230.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" = ?) [6] 09:19:26.877 [debug] QUERY OK source="media_items" db=2.0ms idle=230.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 13:00:05Z], 6] 09:19:26.886 [debug] QUERY OK source="media_items" db=8.1ms idle=232.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!\nPhụ nữ hỏi vay tiền – nên cho hay từ chối? Đây là tình huống khiến nhiều đàn ông lúng túng, vì chỉ cần xử lý sai có thể “mất cả tiền lẫn tình”. Trong video này, bạn sẽ khám phá 7 câu trả lời khôn ngoan giúp bạn vừa giữ được tiền bạc, vừa giữ được sự tôn trọng và mối quan hệ.\n\nTừ cách nói khéo léo, tinh tế đến cách đặt giới hạn rõ ràng – tất cả đều dựa trên tâm lý thực tế trong các mối quan hệ. Ông bà ta có câu: “Tiền bạc phân minh, ái tình dứt khoát” – càng thân thiết, càng cần rõ ràng. Xem hết video để biết đâu là cách ứng xử khiến người khác nể phục thay vì khó chịu.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!", "fb1abc8e-53d8-4515-98db-fc4806901882", 953, false, "LTtMrtZnENo", "https://www.youtube.com/watch?v=LTtMrtZnENo", 3, "/downloads/Cuộc Sống Hôn Nhân/2026-04-18 Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!/Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này! [LTtMrtZnENo].mp4", false, false, false, 6, [], 98, ~U[2026-04-18 13:00:05Z], ~U[2026-04-21 07:19:26Z], ~U[2026-04-21 07:19:26Z], "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!\nPhụ nữ hỏi vay tiền – nên cho hay từ chối? Đây là tình huống khiến nhiều đàn ông lúng túng, vì chỉ cần xử lý sai có thể “mất cả tiền lẫn tình”. Trong video này, bạn sẽ khám phá 7 câu trả lời khôn ngoan giúp bạn vừa giữ được tiền bạc, vừa giữ được sự tôn trọng và mối quan hệ.\n\nTừ cách nói khéo léo, tinh tế đến cách đặt giới hạn rõ ràng – tất cả đều dựa trên tâm lý thực tế trong các mối quan hệ. Ông bà ta có câu: “Tiền bạc phân minh, ái tình dứt khoát” – càng thân thiết, càng cần rõ ràng. Xem hết video để biết đâu là cách ứng xử khiến người khác nể phục thay vì khó chịu.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!", 953, false, "LTtMrtZnENo", "https://www.youtube.com/watch?v=LTtMrtZnENo", "/downloads/Cuộc Sống Hôn Nhân/2026-04-18 Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!/Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này! [LTtMrtZnENo].mp4", false, 6, ~U[2026-04-18 13:00:05Z]] 09:19:26.887 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=49.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" = ?) [6] 09:19:26.888 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=13.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] 09:19:26.889 [debug] QUERY OK source="media_items" db=0.3ms idle=13.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 [23751] 09:19:26.889 [debug] Current batch of media processed. Will check again in 1000ms 09:19:27.000 [debug] Current batch of media processed. Will check again in 1000ms 09:19:27.589 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@laihofficial --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Lai H./%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/7d/a6/7da69dcff4eafed982cb08c68e8632c15c120ca8523a72845806c401ce3cd558.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c0/97/c097a45f68af096284faa6064339aa8951623e7837801621c1bdfba7e5de6d21.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 09:19:27.590 [debug] Gracefully stopping file follower 09:19:27.591 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=713.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] 09:19:27.592 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=706.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] 09:19:27.594 [debug] QUERY OK source="media_items" db=1.9ms idle=705.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 11:13:12Z], 1] 09:19:27.597 [debug] QUERY OK source="media_items" db=2.1ms idle=707.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại", "b6723319-d8ef-482d-b2c5-41dbee614de8", 354, false, "-kYa8qI3YqA", "https://www.youtube.com/watch?v=-kYa8qI3YqA", 1, "/downloads/Lai H#/2026-04-14 5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại/5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại [-kYa8qI3YqA].mp4", false, false, false, 1, [], 98, ~U[2026-04-14 11:13:12Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại", 354, false, "-kYa8qI3YqA", "https://www.youtube.com/watch?v=-kYa8qI3YqA", "/downloads/Lai H#/2026-04-14 5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại/5 Bí Mật Khiến Người Yêu Khao Khát Và Tôn Trọng Trở Lại [-kYa8qI3YqA].mp4", false, 1, ~U[2026-04-14 11:13:12Z]] 09:19:27.599 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=709.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] 09:19:27.601 [debug] QUERY OK source="media_items" db=1.8ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 11:29:26Z], 1] 09:19:27.605 [debug] QUERY OK source="media_items" db=2.9ms idle=9.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…", "642ceb77-f52b-4959-9999-14fba1003fce", 474, false, "7MgM2Y1Puw4", "https://www.youtube.com/watch?v=7MgM2Y1Puw4", 2, "/downloads/Lai H#/2026-04-10 Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…/Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này… [7MgM2Y1Puw4].mp4", false, false, false, 1, [], 98, ~U[2026-04-10 11:29:26Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…", 474, false, "7MgM2Y1Puw4", "https://www.youtube.com/watch?v=7MgM2Y1Puw4", "/downloads/Lai H#/2026-04-10 Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này…/Nếu Lười Biếng Mà Vẫn Muốn Bạn Gái Xinh, Xem Video Này… [7MgM2Y1Puw4].mp4", false, 1, ~U[2026-04-10 11:29:26Z]] 09:19:27.606 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=10.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] 09:19:27.608 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=8.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 11:00:58Z], 1] 09:19:27.612 [debug] QUERY OK source="media_items" db=3.0ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)", "9571cf35-7cfd-4e2f-afae-8d88efd0a178", 586, false, "viqdlIAoquw", "https://www.youtube.com/watch?v=viqdlIAoquw", 3, "/downloads/Lai H#/2026-04-07 7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)/7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết) [viqdlIAoquw].mp4", false, false, false, 1, [], 98, ~U[2026-04-07 11:00:58Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)", 586, false, "viqdlIAoquw", "https://www.youtube.com/watch?v=viqdlIAoquw", "/downloads/Lai H#/2026-04-07 7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết)/7 Dấu Hiệu Bạn Là Đàn Ông Siêu Hấp Dẫn (Mà Không Hề Hay Biết) [viqdlIAoquw].mp4", false, 1, ~U[2026-04-07 11:00:58Z]] 09:19:27.613 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=11.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] 09:19:27.616 [debug] QUERY OK source="media_items" db=1.8ms idle=9.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 11:00:07Z], 1] 09:19:27.620 [debug] QUERY OK source="media_items" db=3.1ms idle=10.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn", "b7e46bff-76d0-461b-be0c-9394856e6688", 433, false, "5oj7TyK_GWY", "https://www.youtube.com/watch?v=5oj7TyK_GWY", 4, "/downloads/Lai H#/2026-04-03 Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn/Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn [5oj7TyK_GWY].mp4", false, false, false, 1, [], 98, ~U[2026-04-03 11:00:07Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn", 433, false, "5oj7TyK_GWY", "https://www.youtube.com/watch?v=5oj7TyK_GWY", "/downloads/Lai H#/2026-04-03 Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn/Sự Thật Khốn Nạn: Ăn Nói Kém Cỏi Đang Cướp Mất TIỀN Và Gái Của Bạn [5oj7TyK_GWY].mp4", false, 1, ~U[2026-04-03 11:00:07Z]] 09:19:27.621 [debug] QUERY OK source="sources" db=0.6ms idle=12.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] 09:19:27.623 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=9.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 10:46:35Z], 1] 09:19:27.628 [debug] QUERY OK source="media_items" db=3.3ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân", "465475cf-31bb-401f-8f06-4fa86117514b", 638, false, "a7AnaXe5jBY", "https://www.youtube.com/watch?v=a7AnaXe5jBY", 5, "/downloads/Lai H#/2026-04-01 Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân/Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân [a7AnaXe5jBY].mp4", false, false, false, 1, [], 98, ~U[2026-04-01 10:46:35Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân", 638, false, "a7AnaXe5jBY", "https://www.youtube.com/watch?v=a7AnaXe5jBY", "/downloads/Lai H#/2026-04-01 Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân/Cho Tôi 10 Phút Và Tôi Sẽ Bóc Trần SỰ THẬT Phũ Phàng Về Phụ Nữ Độc Thân [a7AnaXe5jBY].mp4", false, 1, ~U[2026-04-01 10:46:35Z]] 09:19:27.629 [debug] QUERY OK source="sources" db=0.6ms idle=12.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] 09:19:27.631 [debug] QUERY OK source="media_items" db=2.0ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-25 11:05:34Z], 1] 09:19:27.635 [debug] QUERY OK source="media_items" db=2.8ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)", "2f862757-8639-4fdf-97b6-724cdb49ac08", 701, false, "NeI8kHIsIv8", "https://www.youtube.com/watch?v=NeI8kHIsIv8", 6, "/downloads/Lai H#/2026-03-25 5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)/5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi) [NeI8kHIsIv8].mp4", false, false, false, 1, [], 98, ~U[2026-03-25 11:05:34Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)", 701, false, "NeI8kHIsIv8", "https://www.youtube.com/watch?v=NeI8kHIsIv8", "/downloads/Lai H#/2026-03-25 5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi)/5 Dấu Hiệu Cô Ấy Không Còn Cần Bạn Nữa (Đã Đến Lúc Phải Bước Đi) [NeI8kHIsIv8].mp4", false, 1, ~U[2026-03-25 11:05:34Z]] 09:19:27.636 [debug] QUERY OK source="sources" db=0.5ms idle=12.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] 09:19:27.639 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=8.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-04 10:55:47Z], 1] 09:19:27.642 [debug] QUERY OK source="media_items" db=2.5ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?", "ff001eed-3553-4750-9d14-83b96ccaab7f", 522, false, "NmjrtPug-Ao", "https://www.youtube.com/watch?v=NmjrtPug-Ao", 7, "/downloads/Lai H#/2026-03-04 Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?/Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình? [NmjrtPug-Ao].mp4", false, false, false, 1, [], 98, ~U[2026-03-04 10:55:47Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?", 522, false, "NmjrtPug-Ao", "https://www.youtube.com/watch?v=NmjrtPug-Ao", "/downloads/Lai H#/2026-03-04 Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình?/Cách Từ Chối Cho Tiền Mà Phụ Nữ Vẫn Bám Mình? [NmjrtPug-Ao].mp4", false, 1, ~U[2026-03-04 10:55:47Z]] 09:19:27.643 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=11.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] 09:19:27.646 [debug] QUERY OK source="media_items" db=1.9ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-21 11:25:42Z], 1] 09:19:27.649 [debug] QUERY OK source="media_items" db=2.8ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Bạn Thành \"Mồi Ngon\" Cho Gái Booking?", "bb081069-c782-418a-98df-0ca5cbe85e05", 504, false, "39WRjdnCqdc", "https://www.youtube.com/watch?v=39WRjdnCqdc", 8, "/downloads/Lai H#/2026-02-21 Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking?/Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking? [39WRjdnCqdc].mp4", false, false, false, 1, [], 98, ~U[2026-02-21 11:25:42Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Bạn Thành \"Mồi Ngon\" Cho Gái Booking?", 504, false, "39WRjdnCqdc", "https://www.youtube.com/watch?v=39WRjdnCqdc", "/downloads/Lai H#/2026-02-21 Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking?/Tại Sao Bạn Thành "Mồi Ngon" Cho Gái Booking? [39WRjdnCqdc].mp4", false, 1, ~U[2026-02-21 11:25:42Z]] 09:19:27.651 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=11.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] 09:19:27.653 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=8.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-17 11:30:58Z], 1] 09:19:27.678 [debug] QUERY OK source="media_items" db=24.0ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Thứ \"Kỳ Quặc\" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)", "a28a1dae-4907-4c88-8acc-132bf31d35d2", 433, false, "LCLX05_lTVY", "https://www.youtube.com/watch?v=LCLX05_lTVY", 9, "/downloads/Lai H#/2026-02-17 5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)/5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT) [LCLX05_lTVY].mp4", false, false, false, 1, [], 98, ~U[2026-02-17 11:30:58Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "5 Thứ \"Kỳ Quặc\" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)", 433, false, "LCLX05_lTVY", "https://www.youtube.com/watch?v=LCLX05_lTVY", "/downloads/Lai H#/2026-02-17 5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT)/5 Thứ "Kỳ Quặc" Khiến Đàn Ông Trở Nên Hấp Dẫn (PHỤ NỮ MÊ MỆT) [LCLX05_lTVY].mp4", false, 1, ~U[2026-02-17 11:30:58Z]] 09:19:27.679 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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] 09:19:27.682 [debug] QUERY OK source="media_items" db=2.1ms idle=30.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-14 13:11:23Z], 1] 09:19:27.685 [debug] QUERY OK source="media_items" db=2.6ms idle=31.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)", "58c17931-217b-4d9d-83b8-42fe4adb5f78", 523, false, "l8OS8pZBogA", "https://www.youtube.com/watch?v=l8OS8pZBogA", 10, "/downloads/Lai H#/2026-02-14 Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)/Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này) [l8OS8pZBogA].mp4", false, false, false, 1, [], 98, ~U[2026-02-14 13:11:23Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)", 523, false, "l8OS8pZBogA", "https://www.youtube.com/watch?v=l8OS8pZBogA", "/downloads/Lai H#/2026-02-14 Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này)/Tại sao cô ấy chán bạn? (Thiếu đúng Quy Tắc Này) [l8OS8pZBogA].mp4", false, 1, ~U[2026-02-14 13:11:23Z]] 09:19:27.686 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=32.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] 09:19:27.689 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-10 11:37:09Z], 1] 09:19:27.693 [debug] QUERY OK source="media_items" db=2.9ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO", "ee44c554-c401-4680-9959-1afe05c557a3", 523, false, "Rw0MhZ0qs20", "https://www.youtube.com/watch?v=Rw0MhZ0qs20", 11, "/downloads/Lai H#/2026-02-10 Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO/Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO [Rw0MhZ0qs20].mp4", false, false, false, 1, [], 98, ~U[2026-02-10 11:37:09Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO", 523, false, "Rw0MhZ0qs20", "https://www.youtube.com/watch?v=Rw0MhZ0qs20", "/downloads/Lai H#/2026-02-10 Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO/Cách Để Khiến Phụ Nữ Làm Theo Ý Mình | TỰ NGUYỆN NGHE THEO [Rw0MhZ0qs20].mp4", false, 1, ~U[2026-02-10 11:37:09Z]] 09:19:27.694 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:19:27.696 [debug] QUERY OK source="media_items" db=2.0ms idle=8.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 11:51:02Z], 1] 09:19:27.700 [debug] QUERY OK source="media_items" db=2.7ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?", "233cf828-61ee-4f20-91b9-dafb37a333dd", 559, false, "OkxYbB7NXOE", "https://www.youtube.com/watch?v=OkxYbB7NXOE", 12, "/downloads/Lai H#/2026-02-05 Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?/Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ? [OkxYbB7NXOE].mp4", false, false, false, 1, [], 98, ~U[2026-02-05 11:51:02Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?", 559, false, "OkxYbB7NXOE", "https://www.youtube.com/watch?v=OkxYbB7NXOE", "/downloads/Lai H#/2026-02-05 Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ?/Con Gái Thật Sự Nghĩ Gì Khi Bạn “Bơ” Họ? [OkxYbB7NXOE].mp4", false, 1, ~U[2026-02-05 11:51:02Z]] 09:19:27.701 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:19:27.703 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 11:06:36Z], 1] 09:19:27.707 [debug] QUERY OK source="media_items" db=3.2ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)", "aa174227-c26b-4c2b-98d4-5db599901480", 624, false, "cCfdyt7gBb4", "https://www.youtube.com/watch?v=cCfdyt7gBb4", 13, "/downloads/Lai H#/2026-01-30 Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)/Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp) [cCfdyt7gBb4].mp4", false, false, false, 1, [], 98, ~U[2026-01-30 11:06:36Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)", 624, false, "cCfdyt7gBb4", "https://www.youtube.com/watch?v=cCfdyt7gBb4", "/downloads/Lai H#/2026-01-30 Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp)/Phụ Nữ Không Nói, Nhưng Luôn Sợ Bạn Nhận Ra 5 Điều Này (Bí Mật Đọc Vị Phái Đẹp) [cCfdyt7gBb4].mp4", false, 1, ~U[2026-01-30 11:06:36Z]] 09:19:27.709 [debug] QUERY OK source="sources" db=0.6ms idle=11.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] 09:19:27.711 [debug] QUERY OK source="media_items" db=2.4ms idle=9.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 11:55:37Z], 1] 09:19:27.715 [debug] QUERY OK source="media_items" db=2.6ms idle=11.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)", "e1b542b9-1786-4b03-8c8f-41a4795ec252", 384, false, "_nBDIlifc3A", "https://www.youtube.com/watch?v=_nBDIlifc3A", 14, "/downloads/Lai H#/2026-01-23 25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)/25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC) [_nBDIlifc3A].mp4", false, false, false, 1, [], 98, ~U[2026-01-23 11:55:37Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)", 384, false, "_nBDIlifc3A", "https://www.youtube.com/watch?v=_nBDIlifc3A", "/downloads/Lai H#/2026-01-23 25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC)/25 Mẹo Để Lập Tức Tự Tin Hơn (KHIẾN HỌ PHẢI NỂ NGAY LẬP TỨC) [_nBDIlifc3A].mp4", false, 1, ~U[2026-01-23 11:55:37Z]] 09:19:27.716 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=12.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] 09:19:27.719 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-21 11:48:57Z], 1] 09:19:27.722 [debug] QUERY OK source="media_items" db=2.3ms idle=10.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)", "537e6d75-a454-412a-bab8-f4c65eaf56f2", 449, false, "2SNBH7ReTeA", "https://www.youtube.com/watch?v=2SNBH7ReTeA", 15, "/downloads/Lai H#/2026-01-21 Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)/Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa) [2SNBH7ReTeA].mp4", false, false, false, 1, [], 98, ~U[2026-01-21 11:48:57Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)", 449, false, "2SNBH7ReTeA", "https://www.youtube.com/watch?v=2SNBH7ReTeA", "/downloads/Lai H#/2026-01-21 Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa)/Kỹ Thuật 'Gieo Tương Tư': Khiến Cô Ta Mất Ngủ Vì Nhớ B (Cấm Dùng Bừa) [2SNBH7ReTeA].mp4", false, 1, ~U[2026-01-21 11:48:57Z]] 09:19:27.723 [debug] QUERY OK source="sources" db=0.6ms 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] 09:19:27.726 [debug] QUERY OK source="media_items" db=1.9ms idle=8.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-16 11:00:48Z], 1] 09:19:27.736 [debug] QUERY OK source="media_items" db=9.9ms idle=9.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường", "ad41349a-ac79-4dd3-8ee3-e1b67e72c09a", 424, false, "Dg3Yup2OuhM", "https://www.youtube.com/watch?v=Dg3Yup2OuhM", 16, "/downloads/Lai H#/2026-01-16 7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường/7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường [Dg3Yup2OuhM].mp4", false, false, false, 1, [], 98, ~U[2026-01-16 11:00:48Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường", 424, false, "Dg3Yup2OuhM", "https://www.youtube.com/watch?v=Dg3Yup2OuhM", "/downloads/Lai H#/2026-01-16 7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường/7 Thứ Âm Thầm Hủy Hoại Tương Lai Mà Bạn Vẫn Coi Là Bình Thường [Dg3Yup2OuhM].mp4", false, 1, ~U[2026-01-16 11:00:48Z]] 09:19:27.738 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=17.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] 09:19:27.740 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=16.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-13 11:01:47Z], 1] 09:19:27.744 [debug] QUERY OK source="media_items" db=2.5ms idle=17.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)", "e59024d1-9ea9-485c-bb95-0d8da9c9c92f", 515, false, "tOhza2CV2PM", "https://www.youtube.com/watch?v=tOhza2CV2PM", 17, "/downloads/Lai H#/2026-01-13 4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)/4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH) [tOhza2CV2PM].mp4", false, false, false, 1, [], 98, ~U[2026-01-13 11:01:47Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)", 515, false, "tOhza2CV2PM", "https://www.youtube.com/watch?v=tOhza2CV2PM", "/downloads/Lai H#/2026-01-13 4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH)/4 Thói Quen Trai Tốt Cần Vứt Sọt Rác Ngay (ĐỪNG TỐT BỤNG HÃY BẢN LĨNH) [tOhza2CV2PM].mp4", false, 1, ~U[2026-01-13 11:01:47Z]] 09:19:27.745 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=18.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] 09:19:27.747 [debug] QUERY OK source="media_items" db=1.9ms idle=8.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 11:00:45Z], 1] 09:19:27.749 [debug] QUERY OK source="media_items" db=1.3ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái \"Hot Girl\"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)", "af0262f5-b5bb-4cd3-836a-20940249b33d", 406, false, "O2F_DG6Mrpc", "https://www.youtube.com/watch?v=O2F_DG6Mrpc", 18, "/downloads/Lai H#/2026-01-08 Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)/Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không) [O2F_DG6Mrpc].mp4", false, false, false, 1, [], 98, ~U[2026-01-08 11:00:45Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái \"Hot Girl\"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)", 406, false, "O2F_DG6Mrpc", "https://www.youtube.com/watch?v=O2F_DG6Mrpc", "/downloads/Lai H#/2026-01-08 Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không)/Tại Sao Đàn Ông Giá Trị Cao Không Chọn Gái "Hot Girl"? (Cái Bẫy Của Lắm Mối Tối Nằm Không) [O2F_DG6Mrpc].mp4", false, 1, ~U[2026-01-08 11:00:45Z]] 09:19:27.750 [debug] QUERY OK source="sources" db=0.5ms idle=9.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] 09:19:27.753 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-02 11:50:01Z], 1] 09:19:27.755 [debug] QUERY OK source="media_items" db=1.3ms idle=8.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)", "1e9711e4-c96c-4b9e-a036-a85114a6cdc1", 631, false, "tFxLcyt7qW0", "https://www.youtube.com/watch?v=tFxLcyt7qW0", 19, "/downloads/Lai H#/2026-01-02 Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)/Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...) [tFxLcyt7qW0].mp4", false, false, false, 1, [], 98, ~U[2026-01-02 11:50:01Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)", 631, false, "tFxLcyt7qW0", "https://www.youtube.com/watch?v=tFxLcyt7qW0", "/downloads/Lai H#/2026-01-02 Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...)/Cách Tư Duy Ngược Để Thay Đổi Cuộc Sống (Xem video nếu muốn 2026 là năm đẹp nhất cuộc đời...) [tFxLcyt7qW0].mp4", false, 1, ~U[2026-01-02 11:50:01Z]] 09:19:27.756 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:19:27.759 [debug] QUERY OK source="media_items" db=2.0ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-23 12:47:59Z], 1] 09:19:27.761 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H)", "c2ee9f09-7eb9-4e12-9654-64aac3928b42", 478, false, "GT2Ggz2gMwQ", "https://www.youtube.com/watch?v=GT2Ggz2gMwQ", 20, "/downloads/Lai H#/2025-12-23 CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H)/CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H) [GT2Ggz2gMwQ].mp4", false, false, false, 1, [], 98, ~U[2025-12-23 12:47:59Z], ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], "Làm chủ tâm lý phụ nữ & Hẹn hò.\nKhông lý thuyết suông, chỉ có thực chiến.\n600.000+ anh em đã chọn tỉnh ngộ.\n👇🏼Lộ trình nhắn tin cuốn hút:\n\nhttps://chinhem.com/vip/", "CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H)", 478, false, "GT2Ggz2gMwQ", "https://www.youtube.com/watch?v=GT2Ggz2gMwQ", "/downloads/Lai H#/2025-12-23 CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H)/CÁCH SẮP XẾP LẠI CUỘC ĐỜI | Nằm Thẳng Không Giết Bạn Ngay, Nhưng Nó Giết Bạn Từ Từ (LAI H) [GT2Ggz2gMwQ].mp4", false, 1, ~U[2025-12-23 12:47:59Z]] 09:19:27.763 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z], 1] 09:19:27.766 [debug] QUERY OK source="media_items" db=2.3ms idle=8.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 ((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] 09:19:27.768 [debug] QUERY OK source="media_items" db=2.0ms queue=0.2ms idle=9.8ms 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] 09:19:27.770 [debug] QUERY OK source="media_items" db=0.7ms idle=10.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 09:19:27.773 [debug] QUERY OK source="tasks" db=0.5ms idle=7.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8899, 1, ~U[2026-04-21 07:19:27Z], ~U[2026-04-21 07:19:27Z]] 09:19:27.774 [info] {"args":{"id":1},"id":8893,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":94186216,"event":"job:stop","queue_time":327212,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 09:19:27.890 [debug] Current batch of media processed. Will check again in 1000ms 09:19:28.890 [debug] Current batch of media processed. Will check again in 1000ms 09:19:29.891 [debug] Current batch of media processed. Will check again in 1000ms 09:19:30.893 [debug] Current batch of media processed. Will check again in 1000ms 09:19:31.894 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không\nLàm sao để biết một người phụ nữ có thật lòng với bạn hay không? Không cần những lời hứa hoa mỹ, chỉ qua những tình huống rất đơn giản trong cuộc sống hằng ngày, bạn vẫn có thể cảm nhận được sự chân thành. Trong video này, chúng ta sẽ cùng khám phá 5 phép thử nhẹ nhàng nhưng tinh tế giúp bạn hiểu rõ hơn về cảm xúc thật của cô ấy. Khi hiểu đúng, bạn sẽ tránh được những tổn thương không đáng có và xây dựng mối quan hệ bền vững hơn.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 951, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-16 5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không/5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không [_bKM6XB5-0E].mp4", "id" => "_bKM6XB5-0E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_bKM6XB5-0E", "playlist_index" => 4, "timestamp" => 1776344406, "title" => "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không", "upload_date" => "20260416"} 09:19:31.895 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1045.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 (?)) [6] 09:19:31.895 [debug] QUERY OK source="sources" db=0.2ms idle=1046.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" = ?) [6] 09:19:31.897 [debug] QUERY OK source="media_items" db=1.8ms idle=1046.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 13:00:06Z], 6] 09:19:31.900 [debug] QUERY OK source="media_items" db=1.6ms idle=49.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không\nLàm sao để biết một người phụ nữ có thật lòng với bạn hay không? Không cần những lời hứa hoa mỹ, chỉ qua những tình huống rất đơn giản trong cuộc sống hằng ngày, bạn vẫn có thể cảm nhận được sự chân thành. Trong video này, chúng ta sẽ cùng khám phá 5 phép thử nhẹ nhàng nhưng tinh tế giúp bạn hiểu rõ hơn về cảm xúc thật của cô ấy. Khi hiểu đúng, bạn sẽ tránh được những tổn thương không đáng có và xây dựng mối quan hệ bền vững hơn.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không", "94cab3e8-ad78-4f40-ab75-2c2fa1b4807e", 951, false, "_bKM6XB5-0E", "https://www.youtube.com/watch?v=_bKM6XB5-0E", 4, "/downloads/Cuộc Sống Hôn Nhân/2026-04-16 5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không/5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không [_bKM6XB5-0E].mp4", false, false, false, 6, [], 98, ~U[2026-04-16 13:00:06Z], ~U[2026-04-21 07:19:31Z], ~U[2026-04-21 07:19:31Z], "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không\nLàm sao để biết một người phụ nữ có thật lòng với bạn hay không? Không cần những lời hứa hoa mỹ, chỉ qua những tình huống rất đơn giản trong cuộc sống hằng ngày, bạn vẫn có thể cảm nhận được sự chân thành. Trong video này, chúng ta sẽ cùng khám phá 5 phép thử nhẹ nhàng nhưng tinh tế giúp bạn hiểu rõ hơn về cảm xúc thật của cô ấy. Khi hiểu đúng, bạn sẽ tránh được những tổn thương không đáng có và xây dựng mối quan hệ bền vững hơn.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không", 951, false, "_bKM6XB5-0E", "https://www.youtube.com/watch?v=_bKM6XB5-0E", "/downloads/Cuộc Sống Hôn Nhân/2026-04-16 5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không/5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không [_bKM6XB5-0E].mp4", false, 6, ~U[2026-04-16 13:00:06Z]] 09:19:31.901 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=50.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" = ?) [6] 09:19:31.901 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.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] 09:19:31.902 [debug] QUERY OK source="media_items" db=0.3ms idle=6.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 [23589] 09:19:31.902 [debug] Current batch of media processed. Will check again in 1000ms 09:19:32.908 [debug] Current batch of media processed. Will check again in 1000ms 09:19:33.908 [debug] Current batch of media processed. Will check again in 1000ms 09:19:34.909 [debug] Current batch of media processed. Will check again in 1000ms 09:19:35.911 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!\nBạn có bao giờ tự hỏi: khi ở bên nhau, phụ nữ thực sự nghĩ gì nhưng lại không nói ra? Có những điều rất nhỏ thôi, nhưng lại ảnh hưởng lớn đến cảm xúc và sự gắn kết giữa hai người. Trong video này, chúng ta sẽ cùng khám phá 3 bí mật thầm kín mà đa số phụ nữ đều giữ trong lòng – không phải vì họ muốn giấu, mà vì đôi khi rất khó để nói thành lời. Hiểu được những điều này, bạn sẽ tinh tế hơn trong cách quan tâm và khiến mối quan hệ trở nên sâu sắc hơn mỗi ngày.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 1012, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-15 3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!/3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có! [xzPzqaUM8po].mp4", "id" => "xzPzqaUM8po", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xzPzqaUM8po", "playlist_index" => 5, "timestamp" => 1776258006, "title" => "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!", "upload_date" => "20260415"} 09:19:35.912 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=62.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 (?)) [6] 09:19:35.912 [debug] QUERY OK source="sources" db=0.2ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 09:19:35.915 [debug] QUERY OK source="media_items" db=1.7ms idle=64.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:00:06Z], 6] 09:19:35.918 [debug] QUERY OK source="media_items" db=2.3ms idle=66.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!\nBạn có bao giờ tự hỏi: khi ở bên nhau, phụ nữ thực sự nghĩ gì nhưng lại không nói ra? Có những điều rất nhỏ thôi, nhưng lại ảnh hưởng lớn đến cảm xúc và sự gắn kết giữa hai người. Trong video này, chúng ta sẽ cùng khám phá 3 bí mật thầm kín mà đa số phụ nữ đều giữ trong lòng – không phải vì họ muốn giấu, mà vì đôi khi rất khó để nói thành lời. Hiểu được những điều này, bạn sẽ tinh tế hơn trong cách quan tâm và khiến mối quan hệ trở nên sâu sắc hơn mỗi ngày.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!", "704f4534-0319-40d5-a825-017214e3e739", 1012, false, "xzPzqaUM8po", "https://www.youtube.com/watch?v=xzPzqaUM8po", 5, "/downloads/Cuộc Sống Hôn Nhân/2026-04-15 3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!/3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có! [xzPzqaUM8po].mp4", false, false, false, 6, [], 98, ~U[2026-04-15 13:00:06Z], ~U[2026-04-21 07:19:35Z], ~U[2026-04-21 07:19:35Z], "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!\nBạn có bao giờ tự hỏi: khi ở bên nhau, phụ nữ thực sự nghĩ gì nhưng lại không nói ra? Có những điều rất nhỏ thôi, nhưng lại ảnh hưởng lớn đến cảm xúc và sự gắn kết giữa hai người. Trong video này, chúng ta sẽ cùng khám phá 3 bí mật thầm kín mà đa số phụ nữ đều giữ trong lòng – không phải vì họ muốn giấu, mà vì đôi khi rất khó để nói thành lời. Hiểu được những điều này, bạn sẽ tinh tế hơn trong cách quan tâm và khiến mối quan hệ trở nên sâu sắc hơn mỗi ngày.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!", 1012, false, "xzPzqaUM8po", "https://www.youtube.com/watch?v=xzPzqaUM8po", "/downloads/Cuộc Sống Hôn Nhân/2026-04-15 3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!/3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có! [xzPzqaUM8po].mp4", false, 6, ~U[2026-04-15 13:00:06Z]] 09:19:35.919 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=58.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" = ?) [6] 09:19:35.919 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:19:35.920 [debug] QUERY OK source="media_items" db=0.3ms 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 [23508] 09:19:35.920 [debug] Current batch of media processed. Will check again in 1000ms 09:19:36.921 [debug] Current batch of media processed. Will check again in 1000ms 09:19:37.922 [debug] Current batch of media processed. Will check again in 1000ms 09:19:38.923 [debug] Current batch of media processed. Will check again in 1000ms 09:19:39.925 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này\nNgoại tình không đơn giản là phản bội… mà đôi khi là bị cuốn vào những “ma lực” khó gọi tên. Có những cảm giác khiến phụ nữ một khi đã chạm vào thì rất dễ “nghiện”, càng giấu càng sâu. Điều đáng nói, thứ này không nằm ở tiền bạc hay nhan sắc như nhiều người vẫn nghĩ. Vậy rốt cuộc điều gì khiến họ say mê đến mức đánh đổi tất cả? Xem hết video để hiểu sự thật phía sau những rung động nguy hiểm này!\n\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 961, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-14 100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này/100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này [G6UOEDaLy1U].mp4", "id" => "G6UOEDaLy1U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G6UOEDaLy1U", "playlist_index" => 6, "timestamp" => 1776171605, "title" => "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này", "upload_date" => "20260414"} 09:19:39.926 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=76.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 (?)) [6] 09:19:39.926 [debug] QUERY OK source="sources" db=0.2ms idle=77.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" = ?) [6] 09:19:39.928 [debug] QUERY OK source="media_items" db=1.8ms idle=77.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:05Z], 6] 09:19:39.931 [debug] QUERY OK source="media_items" db=1.9ms idle=80.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này\nNgoại tình không đơn giản là phản bội… mà đôi khi là bị cuốn vào những “ma lực” khó gọi tên. Có những cảm giác khiến phụ nữ một khi đã chạm vào thì rất dễ “nghiện”, càng giấu càng sâu. Điều đáng nói, thứ này không nằm ở tiền bạc hay nhan sắc như nhiều người vẫn nghĩ. Vậy rốt cuộc điều gì khiến họ say mê đến mức đánh đổi tất cả? Xem hết video để hiểu sự thật phía sau những rung động nguy hiểm này!\n\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này", "e1a8aa02-08bf-448f-bdb7-f7a97f8192b3", 961, false, "G6UOEDaLy1U", "https://www.youtube.com/watch?v=G6UOEDaLy1U", 6, "/downloads/Cuộc Sống Hôn Nhân/2026-04-14 100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này/100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này [G6UOEDaLy1U].mp4", false, false, false, 6, [], 98, ~U[2026-04-14 13:00:05Z], ~U[2026-04-21 07:19:39Z], ~U[2026-04-21 07:19:39Z], "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này\nNgoại tình không đơn giản là phản bội… mà đôi khi là bị cuốn vào những “ma lực” khó gọi tên. Có những cảm giác khiến phụ nữ một khi đã chạm vào thì rất dễ “nghiện”, càng giấu càng sâu. Điều đáng nói, thứ này không nằm ở tiền bạc hay nhan sắc như nhiều người vẫn nghĩ. Vậy rốt cuộc điều gì khiến họ say mê đến mức đánh đổi tất cả? Xem hết video để hiểu sự thật phía sau những rung động nguy hiểm này!\n\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này", 961, false, "G6UOEDaLy1U", "https://www.youtube.com/watch?v=G6UOEDaLy1U", "/downloads/Cuộc Sống Hôn Nhân/2026-04-14 100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này/100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này [G6UOEDaLy1U].mp4", false, 6, ~U[2026-04-14 13:00:05Z]] 09:19:39.932 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=64.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" = ?) [6] 09:19:39.933 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:19:39.934 [debug] QUERY OK source="media_items" db=0.3ms 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 [23424] 09:19:39.934 [debug] Current batch of media processed. Will check again in 1000ms 09:19:40.934 [debug] Current batch of media processed. Will check again in 1000ms 09:19:41.935 [debug] Current batch of media processed. Will check again in 1000ms 09:19:42.936 [debug] Current batch of media processed. Will check again in 1000ms 09:19:43.938 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!\nKhông phải cứ thích là tán… mà phải đúng thời điểm! Có 4 khoảnh khắc “vàng” khiến phụ nữ dễ rung động và khó lòng từ chối. Biết được điều này, bạn sẽ đi nhanh hơn người khác một bước trong chuyện tình cảm. Xem ngay trước khi bạn bỏ lỡ cơ hội đáng giá nhất! \n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 961, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-13 4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!/4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối! [5PjjHtEoLsM].mp4", "id" => "5PjjHtEoLsM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5PjjHtEoLsM", "playlist_index" => 7, "timestamp" => 1776085206, "title" => "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!", "upload_date" => "20260413"} 09:19:43.941 [debug] QUERY OK source="sources" db=2.9ms queue=0.1ms idle=88.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 (?)) [6] 09:19:43.942 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=92.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" = ?) [6] 09:19:43.945 [debug] QUERY OK source="media_items" db=2.3ms idle=92.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-13 13:00:06Z], 6] 09:19:43.948 [debug] QUERY OK source="media_items" db=2.0ms idle=95.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!\nKhông phải cứ thích là tán… mà phải đúng thời điểm! Có 4 khoảnh khắc “vàng” khiến phụ nữ dễ rung động và khó lòng từ chối. Biết được điều này, bạn sẽ đi nhanh hơn người khác một bước trong chuyện tình cảm. Xem ngay trước khi bạn bỏ lỡ cơ hội đáng giá nhất! \n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!", "63f1fcbe-0cda-410d-a9d1-8ac32c77b03d", 961, false, "5PjjHtEoLsM", "https://www.youtube.com/watch?v=5PjjHtEoLsM", 7, "/downloads/Cuộc Sống Hôn Nhân/2026-04-13 4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!/4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối! [5PjjHtEoLsM].mp4", false, false, false, 6, [], 98, ~U[2026-04-13 13:00:06Z], ~U[2026-04-21 07:19:43Z], ~U[2026-04-21 07:19:43Z], "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!\nKhông phải cứ thích là tán… mà phải đúng thời điểm! Có 4 khoảnh khắc “vàng” khiến phụ nữ dễ rung động và khó lòng từ chối. Biết được điều này, bạn sẽ đi nhanh hơn người khác một bước trong chuyện tình cảm. Xem ngay trước khi bạn bỏ lỡ cơ hội đáng giá nhất! \n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!", 961, false, "5PjjHtEoLsM", "https://www.youtube.com/watch?v=5PjjHtEoLsM", "/downloads/Cuộc Sống Hôn Nhân/2026-04-13 4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!/4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối! [5PjjHtEoLsM].mp4", false, 6, ~U[2026-04-13 13:00:06Z]] 09:19:43.949 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=72.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" = ?) [6] 09:19:43.950 [debug] QUERY OK source="media_profiles" db=0.4ms queue=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] 09:19:43.952 [debug] QUERY OK source="media_items" db=0.4ms queue=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 [23341] 09:19:43.952 [debug] Current batch of media processed. Will check again in 1000ms 09:19:44.952 [debug] Current batch of media processed. Will check again in 1000ms 09:19:45.953 [debug] Current batch of media processed. Will check again in 1000ms 09:19:46.955 [debug] Current batch of media processed. Will check again in 1000ms 09:19:47.956 [debug] Current batch of media processed. Will check again in 1000ms 09:19:48.957 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "❓ Đàn ông thường bị thu hút bởi vẻ ngoài… vậy phụ nữ thật sự “ham” điều gì ở đàn ông?\nSự thật là: 90% đàn ông đều đoán sai, vì thứ phụ nữ cần không nằm ở bề ngoài mà ở cảm xúc và cách bạn đối xử với họ.\n\n💡 Phụ nữ có thể bị ấn tượng bởi ngoại hình, nhưng để gắn bó lâu dài, họ lại “nghiêng lòng” vì sự tinh tế, an toàn và cảm giác được trân trọng.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Điều phụ nữ thực sự khao khát nhất ở đàn ông\n👉 Vì sao nhiều người hiểu sai nên mãi không thành công trong tình cảm\n👉 Những yếu tố giúp bạn trở nên hấp dẫn một cách tự nhiên\n\n⚠️ Rất nhiều đàn ông:\n❌ Nghĩ rằng chỉ cần ngoại hình hoặc tiền bạc\n❌ Không hiểu phụ nữ cần gì trong một mối quan hệ\n❌ Đánh mất cơ hội vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn hiểu phụ nữ sâu hơn\n✔️ Người đang tìm kiếm mối quan hệ bền vững\n✔️ Ai muốn tăng sức hút cá nhân\n\n📺 Xem đến cuối video để biết:\n👉 Điều quan trọng nhất mà phụ nữ “ham” lại là thứ ít ai ngờ tới.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!\n09:48 Tâm sự: Cam chịu cho vợ ngoại tình vì nghèo\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #phunuthichgi #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "duration" => 987, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-12 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!/Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai! [oG1AHP4aCrc].mp4", "id" => "oG1AHP4aCrc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oG1AHP4aCrc", "playlist_index" => 8, "timestamp" => 1775998826, "title" => "Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!", "upload_date" => "20260412"} 09:19:48.958 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1107.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 (?)) [6] 09:19:48.959 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1108.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" = ?) [6] 09:19:48.961 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=1109.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:26Z], 6] 09:19:48.969 [debug] QUERY OK source="media_items" db=6.5ms idle=1070.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["❓ Đàn ông thường bị thu hút bởi vẻ ngoài… vậy phụ nữ thật sự “ham” điều gì ở đàn ông?\nSự thật là: 90% đàn ông đều đoán sai, vì thứ phụ nữ cần không nằm ở bề ngoài mà ở cảm xúc và cách bạn đối xử với họ.\n\n💡 Phụ nữ có thể bị ấn tượng bởi ngoại hình, nhưng để gắn bó lâu dài, họ lại “nghiêng lòng” vì sự tinh tế, an toàn và cảm giác được trân trọng.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Điều phụ nữ thực sự khao khát nhất ở đàn ông\n👉 Vì sao nhiều người hiểu sai nên mãi không thành công trong tình cảm\n👉 Những yếu tố giúp bạn trở nên hấp dẫn một cách tự nhiên\n\n⚠️ Rất nhiều đàn ông:\n❌ Nghĩ rằng chỉ cần ngoại hình hoặc tiền bạc\n❌ Không hiểu phụ nữ cần gì trong một mối quan hệ\n❌ Đánh mất cơ hội vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn hiểu phụ nữ sâu hơn\n✔️ Người đang tìm kiếm mối quan hệ bền vững\n✔️ Ai muốn tăng sức hút cá nhân\n\n📺 Xem đến cuối video để biết:\n👉 Điều quan trọng nhất mà phụ nữ “ham” lại là thứ ít ai ngờ tới.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!\n09:48 Tâm sự: Cam chịu cho vợ ngoại tình vì nghèo\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #phunuthichgi #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!", "f66fa27e-e64b-4e90-9e73-0d7939b2c296", 987, false, "oG1AHP4aCrc", "https://www.youtube.com/watch?v=oG1AHP4aCrc", 8, "/downloads/Cuộc Sống Hôn Nhân/2026-04-12 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!/Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai! [oG1AHP4aCrc].mp4", false, false, false, 6, [], 98, ~U[2026-04-12 13:00:26Z], ~U[2026-04-21 07:19:48Z], ~U[2026-04-21 07:19:48Z], "❓ Đàn ông thường bị thu hút bởi vẻ ngoài… vậy phụ nữ thật sự “ham” điều gì ở đàn ông?\nSự thật là: 90% đàn ông đều đoán sai, vì thứ phụ nữ cần không nằm ở bề ngoài mà ở cảm xúc và cách bạn đối xử với họ.\n\n💡 Phụ nữ có thể bị ấn tượng bởi ngoại hình, nhưng để gắn bó lâu dài, họ lại “nghiêng lòng” vì sự tinh tế, an toàn và cảm giác được trân trọng.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Điều phụ nữ thực sự khao khát nhất ở đàn ông\n👉 Vì sao nhiều người hiểu sai nên mãi không thành công trong tình cảm\n👉 Những yếu tố giúp bạn trở nên hấp dẫn một cách tự nhiên\n\n⚠️ Rất nhiều đàn ông:\n❌ Nghĩ rằng chỉ cần ngoại hình hoặc tiền bạc\n❌ Không hiểu phụ nữ cần gì trong một mối quan hệ\n❌ Đánh mất cơ hội vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn hiểu phụ nữ sâu hơn\n✔️ Người đang tìm kiếm mối quan hệ bền vững\n✔️ Ai muốn tăng sức hút cá nhân\n\n📺 Xem đến cuối video để biết:\n👉 Điều quan trọng nhất mà phụ nữ “ham” lại là thứ ít ai ngờ tới.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!\n09:48 Tâm sự: Cam chịu cho vợ ngoại tình vì nghèo\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #phunuthichgi #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!", 987, false, "oG1AHP4aCrc", "https://www.youtube.com/watch?v=oG1AHP4aCrc", "/downloads/Cuộc Sống Hôn Nhân/2026-04-12 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!/Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai! [oG1AHP4aCrc].mp4", false, 6, ~U[2026-04-12 13:00:26Z]] 09:19:48.969 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=76.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" = ?) [6] 09:19:48.970 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 09:19:48.971 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms 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 [23221] 09:19:48.972 [debug] Current batch of media processed. Will check again in 1000ms 09:19:49.972 [debug] Current batch of media processed. Will check again in 1000ms 09:19:50.974 [debug] Current batch of media processed. Will check again in 1000ms 09:19:51.975 [debug] Current batch of media processed. Will check again in 1000ms 09:19:52.975 [debug] Current batch of media processed. Will check again in 1000ms 09:19:53.977 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "💔 Phụ nữ khi đã thay lòng, thường không nói ra… nhưng hành động thì rất khó che giấu.\nNhững thay đổi tưởng chừng nhỏ trong cách nói chuyện, quan tâm hay thái độ lại chính là dấu hiệu rõ ràng nhất.\n\n💡 Người xưa có câu: “Tình cảm đổi thay, ánh mắt cũng khác” — khi không còn như trước, mọi thứ sẽ dần lộ ra theo cách rất tự nhiên.\n\n📌 Trong video này, bạn sẽ nhận ra:\n👉 5 dấu hiệu rõ mồn một khi phụ nữ đã thay lòng\n👉 Vì sao họ ít nói thẳng mà thể hiện qua hành động\n👉 Cách nhận biết sớm để không rơi vào tổn thương sâu hơn\n\n⚠️ Rất nhiều người:\n❌ Không tin vào cảm nhận của bản thân\n❌ Bỏ qua những dấu hiệu rõ ràng\n❌ Đến khi mọi chuyện quá muộn mới nhận ra\n\n🎯 Video này dành cho:\n✔️ Người đang trong mối quan hệ tình cảm\n✔️ Cảm thấy đối phương có gì đó thay đổi\n✔️ Muốn hiểu rõ hơn tâm lý phụ nữ khi tình cảm phai nhạt\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 1 và số 4 là khó giấu nhất khi phụ nữ đã đổi lòng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n00:00 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một\n09:01 Tâm sự: Cay đắng khi chồng cho phép ngoại tình\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunuthaylong #tamlyphunu #dauhieuthaylong #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan #rannuttinhcam", "duration" => 960, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-11 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một/Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một [Dfrlp52P5Po].mp4", "id" => "Dfrlp52P5Po", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Dfrlp52P5Po", "playlist_index" => 9, "timestamp" => 1775912406, "title" => "Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một", "upload_date" => "20260411"} 09:19:53.978 [debug] QUERY OK source="sources" db=0.3ms idle=1127.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 (?)) [6] 09:19:53.978 [debug] QUERY OK source="sources" db=0.2ms idle=1128.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" = ?) [6] 09:19:53.981 [debug] QUERY OK source="media_items" db=1.8ms idle=1129.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 13:00:06Z], 6] 09:19:53.984 [debug] QUERY OK source="media_items" db=2.0ms idle=1080.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💔 Phụ nữ khi đã thay lòng, thường không nói ra… nhưng hành động thì rất khó che giấu.\nNhững thay đổi tưởng chừng nhỏ trong cách nói chuyện, quan tâm hay thái độ lại chính là dấu hiệu rõ ràng nhất.\n\n💡 Người xưa có câu: “Tình cảm đổi thay, ánh mắt cũng khác” — khi không còn như trước, mọi thứ sẽ dần lộ ra theo cách rất tự nhiên.\n\n📌 Trong video này, bạn sẽ nhận ra:\n👉 5 dấu hiệu rõ mồn một khi phụ nữ đã thay lòng\n👉 Vì sao họ ít nói thẳng mà thể hiện qua hành động\n👉 Cách nhận biết sớm để không rơi vào tổn thương sâu hơn\n\n⚠️ Rất nhiều người:\n❌ Không tin vào cảm nhận của bản thân\n❌ Bỏ qua những dấu hiệu rõ ràng\n❌ Đến khi mọi chuyện quá muộn mới nhận ra\n\n🎯 Video này dành cho:\n✔️ Người đang trong mối quan hệ tình cảm\n✔️ Cảm thấy đối phương có gì đó thay đổi\n✔️ Muốn hiểu rõ hơn tâm lý phụ nữ khi tình cảm phai nhạt\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 1 và số 4 là khó giấu nhất khi phụ nữ đã đổi lòng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n00:00 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một\n09:01 Tâm sự: Cay đắng khi chồng cho phép ngoại tình\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunuthaylong #tamlyphunu #dauhieuthaylong #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan #rannuttinhcam", "Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một", "7f066cea-4045-4849-b5da-76aa4925fbe4", 960, false, "Dfrlp52P5Po", "https://www.youtube.com/watch?v=Dfrlp52P5Po", 9, "/downloads/Cuộc Sống Hôn Nhân/2026-04-11 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một/Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một [Dfrlp52P5Po].mp4", false, false, false, 6, [], 98, ~U[2026-04-11 13:00:06Z], ~U[2026-04-21 07:19:53Z], ~U[2026-04-21 07:19:53Z], "💔 Phụ nữ khi đã thay lòng, thường không nói ra… nhưng hành động thì rất khó che giấu.\nNhững thay đổi tưởng chừng nhỏ trong cách nói chuyện, quan tâm hay thái độ lại chính là dấu hiệu rõ ràng nhất.\n\n💡 Người xưa có câu: “Tình cảm đổi thay, ánh mắt cũng khác” — khi không còn như trước, mọi thứ sẽ dần lộ ra theo cách rất tự nhiên.\n\n📌 Trong video này, bạn sẽ nhận ra:\n👉 5 dấu hiệu rõ mồn một khi phụ nữ đã thay lòng\n👉 Vì sao họ ít nói thẳng mà thể hiện qua hành động\n👉 Cách nhận biết sớm để không rơi vào tổn thương sâu hơn\n\n⚠️ Rất nhiều người:\n❌ Không tin vào cảm nhận của bản thân\n❌ Bỏ qua những dấu hiệu rõ ràng\n❌ Đến khi mọi chuyện quá muộn mới nhận ra\n\n🎯 Video này dành cho:\n✔️ Người đang trong mối quan hệ tình cảm\n✔️ Cảm thấy đối phương có gì đó thay đổi\n✔️ Muốn hiểu rõ hơn tâm lý phụ nữ khi tình cảm phai nhạt\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 1 và số 4 là khó giấu nhất khi phụ nữ đã đổi lòng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n00:00 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một\n09:01 Tâm sự: Cay đắng khi chồng cho phép ngoại tình\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunuthaylong #tamlyphunu #dauhieuthaylong #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan #rannuttinhcam", "Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một", 960, false, "Dfrlp52P5Po", "https://www.youtube.com/watch?v=Dfrlp52P5Po", "/downloads/Cuộc Sống Hôn Nhân/2026-04-11 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một/Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một [Dfrlp52P5Po].mp4", false, 6, ~U[2026-04-11 13:00:06Z]] 09:19:53.985 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=81.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" = ?) [6] 09:19:53.985 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:19:53.986 [debug] QUERY OK source="media_items" db=0.4ms idle=7.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 [23223] 09:19:53.986 [debug] Current batch of media processed. Will check again in 1000ms 09:19:54.174 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:54.987 [debug] Current batch of media processed. Will check again in 1000ms 09:19:55.988 [debug] Current batch of media processed. Will check again in 1000ms 09:19:56.989 [debug] Current batch of media processed. Will check again in 1000ms 09:19:57.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này\nBạn có bao giờ thắc mắc vì sao có những câu hỏi tưởng chừng rất bình thường… nhưng lại khiến đàn ông “đứng ngồi không yên”?\nThực tế, khi cảm xúc vượt qua giới hạn, phụ nữ có chồng thường không nói thẳng, mà khéo léo “bật đèn xanh” qua những câu hỏi vu vơ, nhẹ nhàng nhưng đầy ẩn ý.\n\nVideo này sẽ hé lộ 4 câu hỏi điển hình mà nhiều người đàn ông từng nghe qua… nhưng không phải ai cũng đủ tinh ý để nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 959, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-10 Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này/Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này [tJkTL66st4A].mp4", "id" => "tJkTL66st4A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tJkTL66st4A", "playlist_index" => 10, "timestamp" => 1775826006, "title" => "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này", "upload_date" => "20260410"} 09:19:57.992 [debug] QUERY OK source="sources" db=0.4ms idle=141.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 (?)) [6] 09:19:57.993 [debug] QUERY OK source="sources" db=0.4ms idle=142.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" = ?) [6] 09:19:57.995 [debug] QUERY OK source="media_items" db=2.0ms idle=143.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 13:00:06Z], 6] 09:19:57.998 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=146.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này\nBạn có bao giờ thắc mắc vì sao có những câu hỏi tưởng chừng rất bình thường… nhưng lại khiến đàn ông “đứng ngồi không yên”?\nThực tế, khi cảm xúc vượt qua giới hạn, phụ nữ có chồng thường không nói thẳng, mà khéo léo “bật đèn xanh” qua những câu hỏi vu vơ, nhẹ nhàng nhưng đầy ẩn ý.\n\nVideo này sẽ hé lộ 4 câu hỏi điển hình mà nhiều người đàn ông từng nghe qua… nhưng không phải ai cũng đủ tinh ý để nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này", "fc002580-293c-4566-b6d3-a4fe31fb9a8f", 959, false, "tJkTL66st4A", "https://www.youtube.com/watch?v=tJkTL66st4A", 10, "/downloads/Cuộc Sống Hôn Nhân/2026-04-10 Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này/Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này [tJkTL66st4A].mp4", false, false, false, 6, [], 98, ~U[2026-04-10 13:00:06Z], ~U[2026-04-21 07:19:57Z], ~U[2026-04-21 07:19:57Z], "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này\nBạn có bao giờ thắc mắc vì sao có những câu hỏi tưởng chừng rất bình thường… nhưng lại khiến đàn ông “đứng ngồi không yên”?\nThực tế, khi cảm xúc vượt qua giới hạn, phụ nữ có chồng thường không nói thẳng, mà khéo léo “bật đèn xanh” qua những câu hỏi vu vơ, nhẹ nhàng nhưng đầy ẩn ý.\n\nVideo này sẽ hé lộ 4 câu hỏi điển hình mà nhiều người đàn ông từng nghe qua… nhưng không phải ai cũng đủ tinh ý để nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này", 959, false, "tJkTL66st4A", "https://www.youtube.com/watch?v=tJkTL66st4A", "/downloads/Cuộc Sống Hôn Nhân/2026-04-10 Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này/Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này [tJkTL66st4A].mp4", false, 6, ~U[2026-04-10 13:00:06Z]] 09:19:57.999 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=87.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" = ?) [6] 09:19:58.000 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 09:19:58.001 [debug] QUERY OK source="media_items" db=0.5ms 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 [23225] 09:19:58.001 [debug] Current batch of media processed. Will check again in 1000ms 09:19:59.002 [debug] Current batch of media processed. Will check again in 1000ms 09:20:00.004 [debug] Current batch of media processed. Will check again in 1000ms 09:20:00.411 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:01.004 [debug] Current batch of media processed. Will check again in 1000ms 09:20:02.006 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!\nĐiều cuối cùng đàn ông thích nhất!\nTrong tình yêu, có những ranh giới mà phụ nữ luôn giữ kín – không phải vì lạnh lùng, mà vì họ chưa đủ tin tưởng. Nhưng một khi đã yêu sâu đậm, họ sẽ âm thầm “mở cửa” cho người đàn ông bước vào những khoảng riêng tư nhất.\n6 điều trong video này không phải ai cũng được thấy. Nếu bạn đã từng được cô ấy cho “chạm tới”, rất có thể bạn đang giữ một vị trí đặc biệt trong lòng cô ấy mà chính bạn cũng chưa nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 825, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-09 6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!/6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu! [37Wknvim0gg].mp4", "id" => "37Wknvim0gg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=37Wknvim0gg", "playlist_index" => 11, "timestamp" => 1775739605, "title" => "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!", "upload_date" => "20260409"} 09:20:02.007 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=156.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 (?)) [6] 09:20:02.008 [debug] QUERY OK source="sources" db=0.2ms idle=157.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" = ?) [6] 09:20:02.010 [debug] QUERY OK source="media_items" db=2.1ms idle=158.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 13:00:05Z], 6] 09:20:02.013 [debug] QUERY OK source="media_items" db=2.0ms idle=161.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!\nĐiều cuối cùng đàn ông thích nhất!\nTrong tình yêu, có những ranh giới mà phụ nữ luôn giữ kín – không phải vì lạnh lùng, mà vì họ chưa đủ tin tưởng. Nhưng một khi đã yêu sâu đậm, họ sẽ âm thầm “mở cửa” cho người đàn ông bước vào những khoảng riêng tư nhất.\n6 điều trong video này không phải ai cũng được thấy. Nếu bạn đã từng được cô ấy cho “chạm tới”, rất có thể bạn đang giữ một vị trí đặc biệt trong lòng cô ấy mà chính bạn cũng chưa nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!", "1f5f79bd-7ec3-4ef4-beaf-d8483f5015fd", 825, false, "37Wknvim0gg", "https://www.youtube.com/watch?v=37Wknvim0gg", 11, "/downloads/Cuộc Sống Hôn Nhân/2026-04-09 6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!/6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu! [37Wknvim0gg].mp4", false, false, false, 6, [], 98, ~U[2026-04-09 13:00:05Z], ~U[2026-04-21 07:20:02Z], ~U[2026-04-21 07:20:02Z], "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!\nĐiều cuối cùng đàn ông thích nhất!\nTrong tình yêu, có những ranh giới mà phụ nữ luôn giữ kín – không phải vì lạnh lùng, mà vì họ chưa đủ tin tưởng. Nhưng một khi đã yêu sâu đậm, họ sẽ âm thầm “mở cửa” cho người đàn ông bước vào những khoảng riêng tư nhất.\n6 điều trong video này không phải ai cũng được thấy. Nếu bạn đã từng được cô ấy cho “chạm tới”, rất có thể bạn đang giữ một vị trí đặc biệt trong lòng cô ấy mà chính bạn cũng chưa nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!", 825, false, "37Wknvim0gg", "https://www.youtube.com/watch?v=37Wknvim0gg", "/downloads/Cuộc Sống Hôn Nhân/2026-04-09 6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!/6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu! [37Wknvim0gg].mp4", false, 6, ~U[2026-04-09 13:00:05Z]] 09:20:02.014 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=93.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" = ?) [6] 09:20:02.015 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:20:02.016 [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 [23227] 09:20:02.016 [debug] Current batch of media processed. Will check again in 1000ms 09:20:03.016 [debug] Current batch of media processed. Will check again in 1000ms 09:20:04.018 [debug] Current batch of media processed. Will check again in 1000ms 09:20:05.018 [debug] Current batch of media processed. Will check again in 1000ms 09:20:06.019 [debug] Current batch of media processed. Will check again in 1000ms 09:20:07.021 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!\nMuốn phụ nữ chung thủy cả đời, đàn ông không cần quá hoàn hảo, nhưng nhất định phải cho đủ 5 điều quan trọng này. Nhiều người vẫn nghĩ rằng chỉ cần tiền bạc hay kiểm soát là giữ được người phụ nữ bên cạnh, nhưng thực tế lại hoàn toàn khác. Có những thứ tưởng chừng đơn giản, lại chính là nền tảng khiến một người phụ nữ sẵn sàng gắn bó, hy sinh và không bao giờ rời xa.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 958, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-08 Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!/Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này! [uQwj5iHUovk].mp4", "id" => "uQwj5iHUovk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uQwj5iHUovk", "playlist_index" => 12, "timestamp" => 1775653205, "title" => "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!", "upload_date" => "20260408"} 09:20:07.021 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1171.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 (?)) [6] 09:20:07.022 [debug] QUERY OK source="sources" db=0.2ms idle=1172.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" = ?) [6] 09:20:07.024 [debug] QUERY OK source="media_items" db=1.8ms idle=1172.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-08 13:00:05Z], 6] 09:20:07.027 [debug] QUERY OK source="media_items" db=1.9ms idle=1090.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!\nMuốn phụ nữ chung thủy cả đời, đàn ông không cần quá hoàn hảo, nhưng nhất định phải cho đủ 5 điều quan trọng này. Nhiều người vẫn nghĩ rằng chỉ cần tiền bạc hay kiểm soát là giữ được người phụ nữ bên cạnh, nhưng thực tế lại hoàn toàn khác. Có những thứ tưởng chừng đơn giản, lại chính là nền tảng khiến một người phụ nữ sẵn sàng gắn bó, hy sinh và không bao giờ rời xa.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!", "af254f1d-b058-4ca7-9333-27ca9a3a9f21", 958, false, "uQwj5iHUovk", "https://www.youtube.com/watch?v=uQwj5iHUovk", 12, "/downloads/Cuộc Sống Hôn Nhân/2026-04-08 Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!/Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này! [uQwj5iHUovk].mp4", false, false, false, 6, [], 98, ~U[2026-04-08 13:00:05Z], ~U[2026-04-21 07:20:07Z], ~U[2026-04-21 07:20:07Z], "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!\nMuốn phụ nữ chung thủy cả đời, đàn ông không cần quá hoàn hảo, nhưng nhất định phải cho đủ 5 điều quan trọng này. Nhiều người vẫn nghĩ rằng chỉ cần tiền bạc hay kiểm soát là giữ được người phụ nữ bên cạnh, nhưng thực tế lại hoàn toàn khác. Có những thứ tưởng chừng đơn giản, lại chính là nền tảng khiến một người phụ nữ sẵn sàng gắn bó, hy sinh và không bao giờ rời xa.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!", 958, false, "uQwj5iHUovk", "https://www.youtube.com/watch?v=uQwj5iHUovk", "/downloads/Cuộc Sống Hôn Nhân/2026-04-08 Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!/Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này! [uQwj5iHUovk].mp4", false, 6, ~U[2026-04-08 13:00:05Z]] 09:20:07.028 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=90.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" = ?) [6] 09:20:07.029 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:20:07.030 [debug] QUERY OK source="media_items" db=0.3ms idle=7.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 [23229] 09:20:07.030 [debug] Current batch of media processed. Will check again in 1000ms 09:20:08.030 [debug] Current batch of media processed. Will check again in 1000ms 09:20:09.032 [debug] Current batch of media processed. Will check again in 1000ms 09:20:10.033 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "💖 Đời người đàn bà, có những thứ không phải ai cũng có thể chạm tới.\nChỉ khi yêu thật lòng, họ mới sẵn sàng trao đi những điều quý giá nhất — không phải vật chất, mà là cảm xúc và cả một phần cuộc đời.\n\n💡 Người xưa có câu: “Yêu là cho đi mà không cần nhận lại”, nhưng thực tế, khi phụ nữ đã cho bạn 3 điều này, nghĩa là họ đã tin tưởng và yêu bạn rất sâu đậm.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 3 điều quý giá nhất trong đời người phụ nữ\n👉 Vì sao họ không dễ dàng trao đi nếu chưa đủ tin tưởng\n👉 Dấu hiệu cho thấy bạn đang giữ một người phụ nữ thật lòng\n\n⚠️ Rất nhiều người:\n❌ Vô tình làm tổn thương người phụ nữ yêu mình\n❌ Không nhận ra giá trị của những điều đã được trao\n❌ Đến khi mất đi mới hiểu đó là điều quý giá nhất\n\n🎯 Video này dành cho:\n✔️ Người đang trong một mối quan hệ nghiêm túc\n✔️ Muốn hiểu sâu hơn tâm lý phụ nữ\n✔️ Ai trân trọng tình yêu và sự gắn bó lâu dài\n\n📺 Xem đến cuối video để biết:\n👉 Điều thứ 2 chính là thứ mà phụ nữ chỉ trao cho người họ yêu nhất.\n\n❤️ Nếu thấy video ý nghĩa:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và cuộc sống!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tinhyeu #phunuy e uthatlong #tinhcamnamnu #tamlytinhyeu #moiquanhe #camxucphunu #danongnenbiet #tinhyeudoilua #tamlyhonnhan #giatriphunu #tinhyeusautham", "duration" => 946, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-07 Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!/Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm! [l3L9NclkvCM].mp4", "id" => "l3L9NclkvCM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=l3L9NclkvCM", "playlist_index" => 13, "timestamp" => 1775566805, "title" => "Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!", "upload_date" => "20260407"} 09:20:10.034 [debug] QUERY OK source="sources" db=0.3ms idle=1183.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 (?)) [6] 09:20:10.034 [debug] QUERY OK source="sources" db=0.2ms idle=1184.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" = ?) [6] 09:20:10.037 [debug] QUERY OK source="media_items" db=1.9ms idle=1185.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:00:05Z], 6] 09:20:10.041 [debug] QUERY OK source="media_items" db=2.6ms idle=1090.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💖 Đời người đàn bà, có những thứ không phải ai cũng có thể chạm tới.\nChỉ khi yêu thật lòng, họ mới sẵn sàng trao đi những điều quý giá nhất — không phải vật chất, mà là cảm xúc và cả một phần cuộc đời.\n\n💡 Người xưa có câu: “Yêu là cho đi mà không cần nhận lại”, nhưng thực tế, khi phụ nữ đã cho bạn 3 điều này, nghĩa là họ đã tin tưởng và yêu bạn rất sâu đậm.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 3 điều quý giá nhất trong đời người phụ nữ\n👉 Vì sao họ không dễ dàng trao đi nếu chưa đủ tin tưởng\n👉 Dấu hiệu cho thấy bạn đang giữ một người phụ nữ thật lòng\n\n⚠️ Rất nhiều người:\n❌ Vô tình làm tổn thương người phụ nữ yêu mình\n❌ Không nhận ra giá trị của những điều đã được trao\n❌ Đến khi mất đi mới hiểu đó là điều quý giá nhất\n\n🎯 Video này dành cho:\n✔️ Người đang trong một mối quan hệ nghiêm túc\n✔️ Muốn hiểu sâu hơn tâm lý phụ nữ\n✔️ Ai trân trọng tình yêu và sự gắn bó lâu dài\n\n📺 Xem đến cuối video để biết:\n👉 Điều thứ 2 chính là thứ mà phụ nữ chỉ trao cho người họ yêu nhất.\n\n❤️ Nếu thấy video ý nghĩa:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và cuộc sống!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tinhyeu #phunuy e uthatlong #tinhcamnamnu #tamlytinhyeu #moiquanhe #camxucphunu #danongnenbiet #tinhyeudoilua #tamlyhonnhan #giatriphunu #tinhyeusautham", "Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!", "87e24a92-7d7c-46f3-b04d-749765642c15", 946, false, "l3L9NclkvCM", "https://www.youtube.com/watch?v=l3L9NclkvCM", 13, "/downloads/Cuộc Sống Hôn Nhân/2026-04-07 Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!/Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm! [l3L9NclkvCM].mp4", false, false, false, 6, [], 98, ~U[2026-04-07 13:00:05Z], ~U[2026-04-21 07:20:10Z], ~U[2026-04-21 07:20:10Z], "💖 Đời người đàn bà, có những thứ không phải ai cũng có thể chạm tới.\nChỉ khi yêu thật lòng, họ mới sẵn sàng trao đi những điều quý giá nhất — không phải vật chất, mà là cảm xúc và cả một phần cuộc đời.\n\n💡 Người xưa có câu: “Yêu là cho đi mà không cần nhận lại”, nhưng thực tế, khi phụ nữ đã cho bạn 3 điều này, nghĩa là họ đã tin tưởng và yêu bạn rất sâu đậm.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 3 điều quý giá nhất trong đời người phụ nữ\n👉 Vì sao họ không dễ dàng trao đi nếu chưa đủ tin tưởng\n👉 Dấu hiệu cho thấy bạn đang giữ một người phụ nữ thật lòng\n\n⚠️ Rất nhiều người:\n❌ Vô tình làm tổn thương người phụ nữ yêu mình\n❌ Không nhận ra giá trị của những điều đã được trao\n❌ Đến khi mất đi mới hiểu đó là điều quý giá nhất\n\n🎯 Video này dành cho:\n✔️ Người đang trong một mối quan hệ nghiêm túc\n✔️ Muốn hiểu sâu hơn tâm lý phụ nữ\n✔️ Ai trân trọng tình yêu và sự gắn bó lâu dài\n\n📺 Xem đến cuối video để biết:\n👉 Điều thứ 2 chính là thứ mà phụ nữ chỉ trao cho người họ yêu nhất.\n\n❤️ Nếu thấy video ý nghĩa:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và cuộc sống!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tinhyeu #phunuy e uthatlong #tinhcamnamnu #tamlytinhyeu #moiquanhe #camxucphunu #danongnenbiet #tinhyeudoilua #tamlyhonnhan #giatriphunu #tinhyeusautham", "Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!", 946, false, "l3L9NclkvCM", "https://www.youtube.com/watch?v=l3L9NclkvCM", "/downloads/Cuộc Sống Hôn Nhân/2026-04-07 Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!/Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm! [l3L9NclkvCM].mp4", false, 6, ~U[2026-04-07 13:00:05Z]] 09:20:10.041 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=91.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" = ?) [6] 09:20:10.042 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 09:20:10.043 [debug] QUERY OK source="media_items" db=0.4ms 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 [23231] 09:20:10.043 [debug] Current batch of media processed. Will check again in 1000ms 09:20:11.044 [debug] Current batch of media processed. Will check again in 1000ms 09:20:12.046 [debug] Current batch of media processed. Will check again in 1000ms 09:20:13.046 [debug] Current batch of media processed. Will check again in 1000ms 09:20:13.404 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S]-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/62/b162f71018fd7e378a6bcda53354993f3005713d3123fdeae563008d7745f97e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:20:13.456 [debug] Running yt-dlp command for action: download_thumbnail 09:20:13.458 [debug] QUERY OK source="settings" db=0.2ms idle=1607.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:13.458 [debug] QUERY OK source="settings" db=0.1ms idle=1608.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:13.459 [debug] QUERY OK source="settings" db=0.1ms idle=1608.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:20:13.459 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/23916/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/6b/c76be0a976940ce99351b84d046e0418a1bdd6557e5881a78f0af784357a26da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:20:14.047 [debug] Current batch of media processed. Will check again in 1000ms 09:20:15.049 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🔍 Phụ nữ trung niên không còn thể hiện tình cảm một cách trực diện như thời trẻ.\nThay vào đó, họ thường “thử lòng” đàn ông bằng những hành động rất tinh tế — nếu không đủ tinh ý, bạn rất dễ hiểu sai.\n\n💡 Thực tế, những “thử thách” này không phải để làm khó, mà là cách họ đánh giá sự chân thành, bản lĩnh và mức độ quan tâm của bạn.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 hành động cho thấy phụ nữ trung niên đang thử thách bạn\n👉 Vì sao họ không nói thẳng mà chọn cách “kiểm tra” cảm xúc\n👉 Cách phản ứng thông minh để không mất điểm trong mắt họ\n\n⚠️ Rất nhiều người:\n❌ Hiểu sai và phản ứng tiêu cực\n❌ Nghĩ rằng phụ nữ khó hiểu\n❌ Đánh mất cơ hội chỉ vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu phụ nữ trung niên\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai từng thắc mắc: “Cô ấy đang thử mình hay thật lòng?”\n\n📺 Xem đến cuối video để biết:\n👉 Hành động số 2 và số 4 là “bẫy tâm lý” phổ biến nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!\n09:01 Tâm sự: Trung niên tìm lại được lửa yêu!\n\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunutrungnien #tamlyphunu #thulong #dauhieuphunutest #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "duration" => 834, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-06 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!/Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn! [q2CiQBHPZGU].mp4", "id" => "q2CiQBHPZGU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q2CiQBHPZGU", "playlist_index" => 14, "timestamp" => 1775480406, "title" => "Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!", "upload_date" => "20260406"} 09:20:15.050 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1090.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 (?)) [6] 09:20:15.052 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" = ?) [6] 09:20:15.055 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=202.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 13:00:06Z], 6] 09:20:15.059 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=205.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔍 Phụ nữ trung niên không còn thể hiện tình cảm một cách trực diện như thời trẻ.\nThay vào đó, họ thường “thử lòng” đàn ông bằng những hành động rất tinh tế — nếu không đủ tinh ý, bạn rất dễ hiểu sai.\n\n💡 Thực tế, những “thử thách” này không phải để làm khó, mà là cách họ đánh giá sự chân thành, bản lĩnh và mức độ quan tâm của bạn.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 hành động cho thấy phụ nữ trung niên đang thử thách bạn\n👉 Vì sao họ không nói thẳng mà chọn cách “kiểm tra” cảm xúc\n👉 Cách phản ứng thông minh để không mất điểm trong mắt họ\n\n⚠️ Rất nhiều người:\n❌ Hiểu sai và phản ứng tiêu cực\n❌ Nghĩ rằng phụ nữ khó hiểu\n❌ Đánh mất cơ hội chỉ vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu phụ nữ trung niên\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai từng thắc mắc: “Cô ấy đang thử mình hay thật lòng?”\n\n📺 Xem đến cuối video để biết:\n👉 Hành động số 2 và số 4 là “bẫy tâm lý” phổ biến nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!\n09:01 Tâm sự: Trung niên tìm lại được lửa yêu!\n\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunutrungnien #tamlyphunu #thulong #dauhieuphunutest #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!", "06163fc3-5d68-4b15-b1cb-4c607e54043a", 834, false, "q2CiQBHPZGU", "https://www.youtube.com/watch?v=q2CiQBHPZGU", 14, "/downloads/Cuộc Sống Hôn Nhân/2026-04-06 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!/Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn! [q2CiQBHPZGU].mp4", false, false, false, 6, [], 98, ~U[2026-04-06 13:00:06Z], ~U[2026-04-21 07:20:15Z], ~U[2026-04-21 07:20:15Z], "🔍 Phụ nữ trung niên không còn thể hiện tình cảm một cách trực diện như thời trẻ.\nThay vào đó, họ thường “thử lòng” đàn ông bằng những hành động rất tinh tế — nếu không đủ tinh ý, bạn rất dễ hiểu sai.\n\n💡 Thực tế, những “thử thách” này không phải để làm khó, mà là cách họ đánh giá sự chân thành, bản lĩnh và mức độ quan tâm của bạn.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 hành động cho thấy phụ nữ trung niên đang thử thách bạn\n👉 Vì sao họ không nói thẳng mà chọn cách “kiểm tra” cảm xúc\n👉 Cách phản ứng thông minh để không mất điểm trong mắt họ\n\n⚠️ Rất nhiều người:\n❌ Hiểu sai và phản ứng tiêu cực\n❌ Nghĩ rằng phụ nữ khó hiểu\n❌ Đánh mất cơ hội chỉ vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu phụ nữ trung niên\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai từng thắc mắc: “Cô ấy đang thử mình hay thật lòng?”\n\n📺 Xem đến cuối video để biết:\n👉 Hành động số 2 và số 4 là “bẫy tâm lý” phổ biến nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!\n09:01 Tâm sự: Trung niên tìm lại được lửa yêu!\n\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunutrungnien #tamlyphunu #thulong #dauhieuphunutest #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!", 834, false, "q2CiQBHPZGU", "https://www.youtube.com/watch?v=q2CiQBHPZGU", "/downloads/Cuộc Sống Hôn Nhân/2026-04-06 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!/Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn! [q2CiQBHPZGU].mp4", false, 6, ~U[2026-04-06 13:00:06Z]] 09:20:15.060 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=98.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" = ?) [6] 09:20:15.061 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms 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] 09:20:15.063 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms 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 [23233] 09:20:15.063 [debug] Current batch of media processed. Will check again in 1000ms 09:20:16.063 [debug] Current batch of media processed. Will check again in 1000ms 09:20:17.073 [debug] Current batch of media processed. Will check again in 1000ms 09:20:18.074 [debug] Current batch of media processed. Will check again in 1000ms 09:20:19.075 [debug] Current batch of media processed. Will check again in 1000ms 09:20:20.077 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn\nVì sao có những người đàn ông chỉ cần xuất hiện cũng đủ khiến phụ nữ đã có gia đình phải chú ý, thậm chí “mê mẩn” khó rời mắt? Không phải vì họ giàu có hay quá điển trai, mà nằm ở những phẩm chất rất tinh tế trong cách cư xử, lời nói và khí chất.\nXem hết video để hiểu rõ đâu là điểm khiến phụ nữ bị cuốn hút, và liệu bạn có đang sở hữu một trong những yếu tố đó hay không!\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 828, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-05 5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn/5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn [p4scQr8W5N0].mp4", "id" => "p4scQr8W5N0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p4scQr8W5N0", "playlist_index" => 15, "timestamp" => 1775394006, "title" => "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn", "upload_date" => "20260405"} 09:20:20.078 [debug] QUERY OK source="sources" db=0.4ms idle=1226.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 (?)) [6] 09:20:20.078 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1227.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" = ?) [6] 09:20:20.080 [debug] QUERY OK source="media_items" db=1.7ms idle=1227.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-05 13:00:06Z], 6] 09:20:20.083 [debug] QUERY OK source="media_items" db=1.6ms idle=1106.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn\nVì sao có những người đàn ông chỉ cần xuất hiện cũng đủ khiến phụ nữ đã có gia đình phải chú ý, thậm chí “mê mẩn” khó rời mắt? Không phải vì họ giàu có hay quá điển trai, mà nằm ở những phẩm chất rất tinh tế trong cách cư xử, lời nói và khí chất.\nXem hết video để hiểu rõ đâu là điểm khiến phụ nữ bị cuốn hút, và liệu bạn có đang sở hữu một trong những yếu tố đó hay không!\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn", "49cad2d3-3259-4ede-8a45-5475a1188413", 828, false, "p4scQr8W5N0", "https://www.youtube.com/watch?v=p4scQr8W5N0", 15, "/downloads/Cuộc Sống Hôn Nhân/2026-04-05 5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn/5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn [p4scQr8W5N0].mp4", false, false, false, 6, [], 98, ~U[2026-04-05 13:00:06Z], ~U[2026-04-21 07:20:20Z], ~U[2026-04-21 07:20:20Z], "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn\nVì sao có những người đàn ông chỉ cần xuất hiện cũng đủ khiến phụ nữ đã có gia đình phải chú ý, thậm chí “mê mẩn” khó rời mắt? Không phải vì họ giàu có hay quá điển trai, mà nằm ở những phẩm chất rất tinh tế trong cách cư xử, lời nói và khí chất.\nXem hết video để hiểu rõ đâu là điểm khiến phụ nữ bị cuốn hút, và liệu bạn có đang sở hữu một trong những yếu tố đó hay không!\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn", 828, false, "p4scQr8W5N0", "https://www.youtube.com/watch?v=p4scQr8W5N0", "/downloads/Cuộc Sống Hôn Nhân/2026-04-05 5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn/5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn [p4scQr8W5N0].mp4", false, 6, ~U[2026-04-05 13:00:06Z]] 09:20:20.084 [debug] QUERY OK source="sources" db=0.3ms idle=107.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" = ?) [6] 09:20:20.084 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.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] 09:20:20.085 [debug] QUERY OK source="media_items" db=0.3ms 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 [23235] 09:20:20.086 [debug] Current batch of media processed. Will check again in 1000ms 09:20:21.087 [debug] Current batch of media processed. Will check again in 1000ms 09:20:21.446 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ZkpyRddZgU4 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/23916/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/c7/6b/c76be0a976940ce99351b84d046e0418a1bdd6557e5881a78f0af784357a26da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:20:21.449 [debug] QUERY OK db=1.7ms queue=0.1ms idle=1364.4ms begin [] 09:20:21.451 [debug] QUERY OK source="media_items" db=1.0ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-21 07:20:13Z], "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].info.json", "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].nfo", "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4]-thumb.jpg", ~U[2026-04-21 07:20:21Z], 23916] 09:20:21.453 [debug] QUERY OK source="media_metadata" db=1.2ms 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/23916/metadata.json.gz", "/config/metadata/media_items/23916/thumbnail.jpg", 23916, ~U[2026-04-21 07:20:21Z], ~U[2026-04-21 07:20:21Z]] 09:20:21.454 [debug] QUERY OK db=0.2ms commit [] 09:20:21.466 [debug] QUERY OK source="media_items" db=11.7ms idle=1370.4ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [62008040, ~U[2026-04-21 07:20:21Z], 23916] 09:20:21.467 [info] User scripts lifecyle file either not present or is empty. Skipping. 09:20:21.468 [info] {"args":{"id":23916},"id":8898,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":62610790,"event":"job:stop","queue_time":854766,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 09:20:22.088 [debug] Current batch of media processed. Will check again in 1000ms 09:20:23.088 [debug] Current batch of media processed. Will check again in 1000ms 09:20:24.090 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!\nPhụ nữ tuổi 50 – đã đi qua nửa đời người, trải đủ vui buồn, không còn sợ khổ, không còn quá bận tâm vật chất. Nhưng có một điều… lại khiến nhiều người ngại ngùng, thậm chí áp lực khi đối diện – đó chính là khi người chồng vẫn còn “muốn” như thuở ban đầu.\n\nVì sao lại như vậy?\nLiệu đó là sự thay đổi về tâm lý, sức khỏe, hay những nỗi niềm khó nói mà chỉ người trong cuộc mới hiểu?\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "duration" => 1074, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-04 Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!/Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này! [rt8OZBGePKo].mp4", "id" => "rt8OZBGePKo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rt8OZBGePKo", "playlist_index" => 16, "timestamp" => 1775307606, "title" => "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!", "upload_date" => "20260404"} 09:20:24.091 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1239.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 (?)) [6] 09:20:24.092 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1240.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" = ?) [6] 09:20:24.094 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=1241.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 13:00:06Z], 6] 09:20:24.097 [debug] QUERY OK source="media_items" db=1.9ms idle=1112.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!\nPhụ nữ tuổi 50 – đã đi qua nửa đời người, trải đủ vui buồn, không còn sợ khổ, không còn quá bận tâm vật chất. Nhưng có một điều… lại khiến nhiều người ngại ngùng, thậm chí áp lực khi đối diện – đó chính là khi người chồng vẫn còn “muốn” như thuở ban đầu.\n\nVì sao lại như vậy?\nLiệu đó là sự thay đổi về tâm lý, sức khỏe, hay những nỗi niềm khó nói mà chỉ người trong cuộc mới hiểu?\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!", "8e2b1c09-504a-44e9-81fa-dd4061aadfa7", 1074, false, "rt8OZBGePKo", "https://www.youtube.com/watch?v=rt8OZBGePKo", 16, "/downloads/Cuộc Sống Hôn Nhân/2026-04-04 Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!/Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này! [rt8OZBGePKo].mp4", false, false, false, 6, [], 98, ~U[2026-04-04 13:00:06Z], ~U[2026-04-21 07:20:24Z], ~U[2026-04-21 07:20:24Z], "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!\nPhụ nữ tuổi 50 – đã đi qua nửa đời người, trải đủ vui buồn, không còn sợ khổ, không còn quá bận tâm vật chất. Nhưng có một điều… lại khiến nhiều người ngại ngùng, thậm chí áp lực khi đối diện – đó chính là khi người chồng vẫn còn “muốn” như thuở ban đầu.\n\nVì sao lại như vậy?\nLiệu đó là sự thay đổi về tâm lý, sức khỏe, hay những nỗi niềm khó nói mà chỉ người trong cuộc mới hiểu?\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!", 1074, false, "rt8OZBGePKo", "https://www.youtube.com/watch?v=rt8OZBGePKo", "/downloads/Cuộc Sống Hôn Nhân/2026-04-04 Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!/Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này! [rt8OZBGePKo].mp4", false, 6, ~U[2026-04-04 13:00:06Z]] 09:20:24.098 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=112.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" = ?) [6] 09:20:24.099 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:20:24.100 [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 [23237] 09:20:24.100 [debug] Current batch of media processed. Will check again in 1000ms 09:20:24.176 [info] {"source":"oban","duration":1210,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:25.100 [debug] Current batch of media processed. Will check again in 1000ms 09:20:26.102 [debug] Current batch of media processed. Will check again in 1000ms 09:20:27.102 [debug] Current batch of media processed. Will check again in 1000ms 09:20:28.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "👀 Trong 5 giây đầu tiên, phụ nữ đã có ấn tượng rất rõ về một người đàn ông.\nĐiều bất ngờ là: 90% đàn ông đều đoán sai thứ mà phụ nữ thực sự chú ý!\n\n💡 Không phải chỉ là ngoại hình hay tiền bạc, mà là những chi tiết rất nhỏ nhưng lại quyết định sức hút ngay từ lần gặp đầu tiên.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Phụ nữ thực sự nhìn gì ở đàn ông trong 5 giây đầu\n👉 Vì sao ấn tượng đầu tiên lại quan trọng đến vậy\n👉 Những yếu tố giúp bạn ghi điểm ngay lập tức\n\n⚠️ Rất nhiều đàn ông:\n❌ Tập trung sai thứ cần cải thiện\n❌ Bỏ qua những chi tiết nhỏ nhưng cực kỳ quan trọng\n❌ Mất cơ hội chỉ vì ấn tượng ban đầu không tốt\n\n🎯 Video này dành cho:\n✔️ Người muốn cải thiện sức hút cá nhân\n✔️ Đang chuẩn bị gặp gỡ hoặc hẹn hò\n✔️ Ai muốn hiểu rõ tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Yếu tố số 1 là thứ quyết định bạn có cơ hội hay không.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #andtuongbandau #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "duration" => 806, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-03 Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!/Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai! [yt1_iHqBF6E].mp4", "id" => "yt1_iHqBF6E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yt1_iHqBF6E", "playlist_index" => 17, "timestamp" => 1775221205, "title" => "Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!", "upload_date" => "20260403"} 09:20:28.106 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=254.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 (?)) [6] 09:20:28.108 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=256.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" = ?) [6] 09:20:28.114 [debug] QUERY OK source="media_items" db=4.2ms queue=0.2ms idle=258.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 13:00:05Z], 6] 09:20:28.122 [debug] QUERY OK source="media_items" db=6.1ms queue=0.1ms idle=264.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👀 Trong 5 giây đầu tiên, phụ nữ đã có ấn tượng rất rõ về một người đàn ông.\nĐiều bất ngờ là: 90% đàn ông đều đoán sai thứ mà phụ nữ thực sự chú ý!\n\n💡 Không phải chỉ là ngoại hình hay tiền bạc, mà là những chi tiết rất nhỏ nhưng lại quyết định sức hút ngay từ lần gặp đầu tiên.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Phụ nữ thực sự nhìn gì ở đàn ông trong 5 giây đầu\n👉 Vì sao ấn tượng đầu tiên lại quan trọng đến vậy\n👉 Những yếu tố giúp bạn ghi điểm ngay lập tức\n\n⚠️ Rất nhiều đàn ông:\n❌ Tập trung sai thứ cần cải thiện\n❌ Bỏ qua những chi tiết nhỏ nhưng cực kỳ quan trọng\n❌ Mất cơ hội chỉ vì ấn tượng ban đầu không tốt\n\n🎯 Video này dành cho:\n✔️ Người muốn cải thiện sức hút cá nhân\n✔️ Đang chuẩn bị gặp gỡ hoặc hẹn hò\n✔️ Ai muốn hiểu rõ tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Yếu tố số 1 là thứ quyết định bạn có cơ hội hay không.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #andtuongbandau #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!", "73357167-0243-4cd5-82d1-294c1c0b2616", 806, false, "yt1_iHqBF6E", "https://www.youtube.com/watch?v=yt1_iHqBF6E", 17, "/downloads/Cuộc Sống Hôn Nhân/2026-04-03 Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!/Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai! [yt1_iHqBF6E].mp4", false, false, false, 6, [], 98, ~U[2026-04-03 13:00:05Z], ~U[2026-04-21 07:20:28Z], ~U[2026-04-21 07:20:28Z], "👀 Trong 5 giây đầu tiên, phụ nữ đã có ấn tượng rất rõ về một người đàn ông.\nĐiều bất ngờ là: 90% đàn ông đều đoán sai thứ mà phụ nữ thực sự chú ý!\n\n💡 Không phải chỉ là ngoại hình hay tiền bạc, mà là những chi tiết rất nhỏ nhưng lại quyết định sức hút ngay từ lần gặp đầu tiên.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Phụ nữ thực sự nhìn gì ở đàn ông trong 5 giây đầu\n👉 Vì sao ấn tượng đầu tiên lại quan trọng đến vậy\n👉 Những yếu tố giúp bạn ghi điểm ngay lập tức\n\n⚠️ Rất nhiều đàn ông:\n❌ Tập trung sai thứ cần cải thiện\n❌ Bỏ qua những chi tiết nhỏ nhưng cực kỳ quan trọng\n❌ Mất cơ hội chỉ vì ấn tượng ban đầu không tốt\n\n🎯 Video này dành cho:\n✔️ Người muốn cải thiện sức hút cá nhân\n✔️ Đang chuẩn bị gặp gỡ hoặc hẹn hò\n✔️ Ai muốn hiểu rõ tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Yếu tố số 1 là thứ quyết định bạn có cơ hội hay không.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #andtuongbandau #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!", 806, false, "yt1_iHqBF6E", "https://www.youtube.com/watch?v=yt1_iHqBF6E", "/downloads/Cuộc Sống Hôn Nhân/2026-04-03 Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!/Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai! [yt1_iHqBF6E].mp4", false, 6, ~U[2026-04-03 13:00:05Z]] 09:20:28.123 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=128.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" = ?) [6] 09:20:28.124 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=16.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] 09:20:28.125 [debug] QUERY OK source="media_items" db=0.4ms idle=15.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 [23239] 09:20:28.125 [debug] Current batch of media processed. Will check again in 1000ms 09:20:29.125 [debug] Current batch of media processed. Will check again in 1000ms 09:20:30.126 [debug] Current batch of media processed. Will check again in 1000ms 09:20:31.127 [debug] Current batch of media processed. Will check again in 1000ms 09:20:32.129 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "💘 Không phải cứ theo đuổi nhiều là phụ nữ sẽ nhớ bạn — đôi khi chính cách bạn “xuất hiện đúng lúc, biến mất đúng thời điểm” mới khiến họ ám ảnh.\nSức hút thật sự nằm ở cảm xúc bạn tạo ra, không phải những gì bạn nói.\n\n💡 Đàn ông tinh tế biết rằng: phụ nữ thường nhớ nhất những người khiến họ chưa kịp có nhưng đã sợ mất.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Những cách đơn giản nhưng cực kỳ hiệu quả để khiến phụ nữ nhớ bạn\n👉 Vì sao tạo cảm xúc lại quan trọng hơn việc theo đuổi liên tục\n👉 Những sai lầm khiến bạn trở nên “quá dễ đoán” trong mắt phụ nữ\n\n⚠️ Rất nhiều người:\n❌ Nhắn tin quá nhiều khiến đối phương nhàm chán\n❌ Luôn sẵn sàng khiến bản thân mất giá trị\n❌ Không biết cách tạo sự tò mò và cảm xúc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn tăng sức hút cá nhân\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ khi rung động\n\n📺 Xem đến cuối video để biết:\n👉 Cách số 2 và số 5 là bí quyết khiến phụ nữ nhớ bạn lâu nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tangsuckhut #phununhoban #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "duration" => 814, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-04-01 Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát/Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát [mb_FzNUsURE].mp4", "id" => "mb_FzNUsURE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mb_FzNUsURE", "playlist_index" => 18, "timestamp" => 1775048406, "title" => "Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát", "upload_date" => "20260401"} 09:20:32.130 [debug] QUERY OK source="sources" db=0.3ms idle=278.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 (?)) [6] 09:20:32.130 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=279.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" = ?) [6] 09:20:32.132 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=280.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 13:00:06Z], 6] 09:20:32.136 [debug] QUERY OK source="media_items" db=2.2ms idle=282.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💘 Không phải cứ theo đuổi nhiều là phụ nữ sẽ nhớ bạn — đôi khi chính cách bạn “xuất hiện đúng lúc, biến mất đúng thời điểm” mới khiến họ ám ảnh.\nSức hút thật sự nằm ở cảm xúc bạn tạo ra, không phải những gì bạn nói.\n\n💡 Đàn ông tinh tế biết rằng: phụ nữ thường nhớ nhất những người khiến họ chưa kịp có nhưng đã sợ mất.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Những cách đơn giản nhưng cực kỳ hiệu quả để khiến phụ nữ nhớ bạn\n👉 Vì sao tạo cảm xúc lại quan trọng hơn việc theo đuổi liên tục\n👉 Những sai lầm khiến bạn trở nên “quá dễ đoán” trong mắt phụ nữ\n\n⚠️ Rất nhiều người:\n❌ Nhắn tin quá nhiều khiến đối phương nhàm chán\n❌ Luôn sẵn sàng khiến bản thân mất giá trị\n❌ Không biết cách tạo sự tò mò và cảm xúc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn tăng sức hút cá nhân\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ khi rung động\n\n📺 Xem đến cuối video để biết:\n👉 Cách số 2 và số 5 là bí quyết khiến phụ nữ nhớ bạn lâu nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tangsuckhut #phununhoban #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát", "23888f10-92c4-40f7-b99d-336ac41a1641", 814, false, "mb_FzNUsURE", "https://www.youtube.com/watch?v=mb_FzNUsURE", 18, "/downloads/Cuộc Sống Hôn Nhân/2026-04-01 Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát/Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát [mb_FzNUsURE].mp4", false, false, false, 6, [], 98, ~U[2026-04-01 13:00:06Z], ~U[2026-04-21 07:20:32Z], ~U[2026-04-21 07:20:32Z], "💘 Không phải cứ theo đuổi nhiều là phụ nữ sẽ nhớ bạn — đôi khi chính cách bạn “xuất hiện đúng lúc, biến mất đúng thời điểm” mới khiến họ ám ảnh.\nSức hút thật sự nằm ở cảm xúc bạn tạo ra, không phải những gì bạn nói.\n\n💡 Đàn ông tinh tế biết rằng: phụ nữ thường nhớ nhất những người khiến họ chưa kịp có nhưng đã sợ mất.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Những cách đơn giản nhưng cực kỳ hiệu quả để khiến phụ nữ nhớ bạn\n👉 Vì sao tạo cảm xúc lại quan trọng hơn việc theo đuổi liên tục\n👉 Những sai lầm khiến bạn trở nên “quá dễ đoán” trong mắt phụ nữ\n\n⚠️ Rất nhiều người:\n❌ Nhắn tin quá nhiều khiến đối phương nhàm chán\n❌ Luôn sẵn sàng khiến bản thân mất giá trị\n❌ Không biết cách tạo sự tò mò và cảm xúc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn tăng sức hút cá nhân\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ khi rung động\n\n📺 Xem đến cuối video để biết:\n👉 Cách số 2 và số 5 là bí quyết khiến phụ nữ nhớ bạn lâu nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tangsuckhut #phununhoban #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát", 814, false, "mb_FzNUsURE", "https://www.youtube.com/watch?v=mb_FzNUsURE", "/downloads/Cuộc Sống Hôn Nhân/2026-04-01 Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát/Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát [mb_FzNUsURE].mp4", false, 6, ~U[2026-04-01 13:00:06Z]] 09:20:32.137 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=128.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" = ?) [6] 09:20:32.137 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=7.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] 09:20:32.138 [debug] QUERY OK source="media_items" db=0.4ms 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 [23241] 09:20:32.138 [debug] Current batch of media processed. Will check again in 1000ms 09:20:33.139 [debug] Current batch of media processed. Will check again in 1000ms 09:20:34.140 [debug] Current batch of media processed. Will check again in 1000ms 09:20:35.141 [debug] Current batch of media processed. Will check again in 1000ms 09:20:36.143 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "💖 Không phải phụ nữ khó hiểu — chỉ là nhiều đàn ông chưa thật sự hiểu đúng điều họ cần.\nThực tế, chỉ cần nắm được 5 điều quan trọng này, bạn hoàn toàn có thể khiến bất kỳ người phụ nữ nào cảm thấy hài lòng và được trân trọng.\n\n💡 Phụ nữ không đòi hỏi quá nhiều, họ chỉ cần sự quan tâm đúng lúc, cảm xúc chân thành và cách bạn đối xử mỗi ngày.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 điều đàn ông nên biết để khiến phụ nữ hài lòng\n👉 Vì sao những điều tưởng nhỏ lại quyết định hạnh phúc lâu dài\n👉 Cách ứng xử giúp mối quan hệ luôn êm ấm và bền vững\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng phải có tiền mới giữ được phụ nữ\n❌ Bỏ qua cảm xúc và sự tinh tế trong giao tiếp\n❌ Đến khi mất đi mới nhận ra giá trị thật\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn cải thiện mối quan hệ\n✔️ Người đang yêu hoặc đã kết hôn\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là yếu tố quan trọng nhất nhưng nhiều người lại bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #danongnenbiet #tinhyeu #tamlytinhyeu #tinhcamnamnu #vochong #honnhan #moiquanhe #camxucphunu #tamlyhonnhan #hanhphucgiadinh #tinhyeudoilua", "duration" => 809, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-03-31 Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này/Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này [cZlCysNHZKo].mp4", "id" => "cZlCysNHZKo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cZlCysNHZKo", "playlist_index" => 19, "timestamp" => 1774962006, "title" => "Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này", "upload_date" => "20260331"} 09:20:36.144 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=292.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 (?)) [6] 09:20:36.145 [debug] QUERY OK source="sources" db=0.3ms idle=293.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" = ?) [6] 09:20:36.147 [debug] QUERY OK source="media_items" db=1.8ms idle=294.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 13:00:06Z], 6] 09:20:36.150 [debug] QUERY OK source="media_items" db=2.1ms idle=296.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💖 Không phải phụ nữ khó hiểu — chỉ là nhiều đàn ông chưa thật sự hiểu đúng điều họ cần.\nThực tế, chỉ cần nắm được 5 điều quan trọng này, bạn hoàn toàn có thể khiến bất kỳ người phụ nữ nào cảm thấy hài lòng và được trân trọng.\n\n💡 Phụ nữ không đòi hỏi quá nhiều, họ chỉ cần sự quan tâm đúng lúc, cảm xúc chân thành và cách bạn đối xử mỗi ngày.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 điều đàn ông nên biết để khiến phụ nữ hài lòng\n👉 Vì sao những điều tưởng nhỏ lại quyết định hạnh phúc lâu dài\n👉 Cách ứng xử giúp mối quan hệ luôn êm ấm và bền vững\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng phải có tiền mới giữ được phụ nữ\n❌ Bỏ qua cảm xúc và sự tinh tế trong giao tiếp\n❌ Đến khi mất đi mới nhận ra giá trị thật\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn cải thiện mối quan hệ\n✔️ Người đang yêu hoặc đã kết hôn\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là yếu tố quan trọng nhất nhưng nhiều người lại bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #danongnenbiet #tinhyeu #tamlytinhyeu #tinhcamnamnu #vochong #honnhan #moiquanhe #camxucphunu #tamlyhonnhan #hanhphucgiadinh #tinhyeudoilua", "Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này", "d8a67a01-9a66-4b13-80b1-50342b65d226", 809, false, "cZlCysNHZKo", "https://www.youtube.com/watch?v=cZlCysNHZKo", 19, "/downloads/Cuộc Sống Hôn Nhân/2026-03-31 Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này/Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này [cZlCysNHZKo].mp4", false, false, false, 6, [], 98, ~U[2026-03-31 13:00:06Z], ~U[2026-04-21 07:20:36Z], ~U[2026-04-21 07:20:36Z], "💖 Không phải phụ nữ khó hiểu — chỉ là nhiều đàn ông chưa thật sự hiểu đúng điều họ cần.\nThực tế, chỉ cần nắm được 5 điều quan trọng này, bạn hoàn toàn có thể khiến bất kỳ người phụ nữ nào cảm thấy hài lòng và được trân trọng.\n\n💡 Phụ nữ không đòi hỏi quá nhiều, họ chỉ cần sự quan tâm đúng lúc, cảm xúc chân thành và cách bạn đối xử mỗi ngày.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 điều đàn ông nên biết để khiến phụ nữ hài lòng\n👉 Vì sao những điều tưởng nhỏ lại quyết định hạnh phúc lâu dài\n👉 Cách ứng xử giúp mối quan hệ luôn êm ấm và bền vững\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng phải có tiền mới giữ được phụ nữ\n❌ Bỏ qua cảm xúc và sự tinh tế trong giao tiếp\n❌ Đến khi mất đi mới nhận ra giá trị thật\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn cải thiện mối quan hệ\n✔️ Người đang yêu hoặc đã kết hôn\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là yếu tố quan trọng nhất nhưng nhiều người lại bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #danongnenbiet #tinhyeu #tamlytinhyeu #tinhcamnamnu #vochong #honnhan #moiquanhe #camxucphunu #tamlyhonnhan #hanhphucgiadinh #tinhyeudoilua", "Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này", 809, false, "cZlCysNHZKo", "https://www.youtube.com/watch?v=cZlCysNHZKo", "/downloads/Cuộc Sống Hôn Nhân/2026-03-31 Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này/Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này [cZlCysNHZKo].mp4", false, 6, ~U[2026-03-31 13:00:06Z]] 09:20:36.151 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=134.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" = ?) [6] 09:20:36.152 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 09:20:36.152 [debug] QUERY OK source="media_items" db=0.3ms 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 [23243] 09:20:36.153 [debug] Current batch of media processed. Will check again in 1000ms 09:20:37.153 [debug] Current batch of media processed. Will check again in 1000ms 09:20:38.154 [debug] Current batch of media processed. Will check again in 1000ms 09:20:39.155 [debug] Current batch of media processed. Will check again in 1000ms 09:20:40.157 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🔥 Đàn ông tuổi 40 không còn cần phô trương — chỉ cần sở hữu những “điểm mạnh” này cũng đủ khiến phụ nữ bị thu hút.\nỞ độ tuổi này, sức hấp dẫn không nằm ở vẻ ngoài, mà nằm ở bản lĩnh, trải nghiệm và cách đối xử.\n\n💡 Thực tế cho thấy, đàn ông càng trưởng thành càng có sức hút riêng — nếu biết phát huy đúng điểm mạnh, bạn sẽ trở thành “cực phẩm” trong mắt phụ nữ mà không cần cố gắng quá nhiều.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 6 “điểm mạnh” khiến đàn ông tuổi 40 trở nên hấp dẫn đặc biệt\n👉 Vì sao phụ nữ trưởng thành lại bị thu hút bởi những phẩm chất này\n👉 Sự khác biệt giữa sức hút của đàn ông trẻ và đàn ông từng trải\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng qua 40 là mất sức hút\n❌ Chỉ tập trung vào vật chất mà quên phát triển bản thân\n❌ Không hiểu phụ nữ thực sự cần điều gì\n\n🎯 Video này dành cho:\n✔️ Đàn ông tuổi 40 muốn nâng cấp bản thân\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai tò mò: “Điều gì làm đàn ông trung niên trở nên cuốn hút?”\n\n📺 Xem đến cuối video để biết:\n👉 Điểm số 2 và số 6 là yếu tố khiến phụ nữ ấn tượng mạnh nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ\n14:14 Tâm sự: Đàn ông bước sang tuổi 40, có 3 đạo lý ở đời cần học\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #danong40 #danongtrungnien #suckhutdanong #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "duration" => 1341, "filename" => "/downloads/Cuộc Sống Hôn Nhân/2026-03-30 Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ/Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ [uXaf_vico8E].mp4", "id" => "uXaf_vico8E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uXaf_vico8E", "playlist_index" => 20, "timestamp" => 1774875606, "title" => "Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ", "upload_date" => "20260330"} 09:20:40.158 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=306.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 (?)) [6] 09:20:40.158 [debug] QUERY OK source="sources" db=0.2ms idle=307.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" = ?) [6] 09:20:40.161 [debug] QUERY OK source="media_items" db=1.8ms idle=308.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-30 13:00:06Z], 6] 09:20:40.164 [debug] QUERY OK source="media_items" db=2.3ms idle=310.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔥 Đàn ông tuổi 40 không còn cần phô trương — chỉ cần sở hữu những “điểm mạnh” này cũng đủ khiến phụ nữ bị thu hút.\nỞ độ tuổi này, sức hấp dẫn không nằm ở vẻ ngoài, mà nằm ở bản lĩnh, trải nghiệm và cách đối xử.\n\n💡 Thực tế cho thấy, đàn ông càng trưởng thành càng có sức hút riêng — nếu biết phát huy đúng điểm mạnh, bạn sẽ trở thành “cực phẩm” trong mắt phụ nữ mà không cần cố gắng quá nhiều.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 6 “điểm mạnh” khiến đàn ông tuổi 40 trở nên hấp dẫn đặc biệt\n👉 Vì sao phụ nữ trưởng thành lại bị thu hút bởi những phẩm chất này\n👉 Sự khác biệt giữa sức hút của đàn ông trẻ và đàn ông từng trải\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng qua 40 là mất sức hút\n❌ Chỉ tập trung vào vật chất mà quên phát triển bản thân\n❌ Không hiểu phụ nữ thực sự cần điều gì\n\n🎯 Video này dành cho:\n✔️ Đàn ông tuổi 40 muốn nâng cấp bản thân\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai tò mò: “Điều gì làm đàn ông trung niên trở nên cuốn hút?”\n\n📺 Xem đến cuối video để biết:\n👉 Điểm số 2 và số 6 là yếu tố khiến phụ nữ ấn tượng mạnh nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ\n14:14 Tâm sự: Đàn ông bước sang tuổi 40, có 3 đạo lý ở đời cần học\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #danong40 #danongtrungnien #suckhutdanong #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ", "629bca63-20ca-4286-aae1-46cd641a76d1", 1341, false, "uXaf_vico8E", "https://www.youtube.com/watch?v=uXaf_vico8E", 20, "/downloads/Cuộc Sống Hôn Nhân/2026-03-30 Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ/Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ [uXaf_vico8E].mp4", false, false, false, 6, [], 98, ~U[2026-03-30 13:00:06Z], ~U[2026-04-21 07:20:40Z], ~U[2026-04-21 07:20:40Z], "🔥 Đàn ông tuổi 40 không còn cần phô trương — chỉ cần sở hữu những “điểm mạnh” này cũng đủ khiến phụ nữ bị thu hút.\nỞ độ tuổi này, sức hấp dẫn không nằm ở vẻ ngoài, mà nằm ở bản lĩnh, trải nghiệm và cách đối xử.\n\n💡 Thực tế cho thấy, đàn ông càng trưởng thành càng có sức hút riêng — nếu biết phát huy đúng điểm mạnh, bạn sẽ trở thành “cực phẩm” trong mắt phụ nữ mà không cần cố gắng quá nhiều.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 6 “điểm mạnh” khiến đàn ông tuổi 40 trở nên hấp dẫn đặc biệt\n👉 Vì sao phụ nữ trưởng thành lại bị thu hút bởi những phẩm chất này\n👉 Sự khác biệt giữa sức hút của đàn ông trẻ và đàn ông từng trải\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng qua 40 là mất sức hút\n❌ Chỉ tập trung vào vật chất mà quên phát triển bản thân\n❌ Không hiểu phụ nữ thực sự cần điều gì\n\n🎯 Video này dành cho:\n✔️ Đàn ông tuổi 40 muốn nâng cấp bản thân\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai tò mò: “Điều gì làm đàn ông trung niên trở nên cuốn hút?”\n\n📺 Xem đến cuối video để biết:\n👉 Điểm số 2 và số 6 là yếu tố khiến phụ nữ ấn tượng mạnh nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ\n14:14 Tâm sự: Đàn ông bước sang tuổi 40, có 3 đạo lý ở đời cần học\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #danong40 #danongtrungnien #suckhutdanong #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ", 1341, false, "uXaf_vico8E", "https://www.youtube.com/watch?v=uXaf_vico8E", "/downloads/Cuộc Sống Hôn Nhân/2026-03-30 Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ/Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ [uXaf_vico8E].mp4", false, 6, ~U[2026-03-30 13:00:06Z]] 09:20:40.165 [debug] QUERY OK source="sources" db=0.3ms idle=140.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" = ?) [6] 09:20:40.166 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 09:20:40.167 [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 [23245] 09:20:40.167 [debug] Current batch of media processed. Will check again in 1000ms 09:20:41.167 [debug] Current batch of media processed. Will check again in 1000ms 09:20:42.168 [debug] Current batch of media processed. Will check again in 1000ms 09:20:43.169 [debug] Current batch of media processed. Will check again in 1000ms 09:20:44.170 [debug] Current batch of media processed. Will check again in 1000ms 09:20:45.171 [debug] Current batch of media processed. Will check again in 1000ms 09:20:45.602 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Cu%E1%BB%99cS%E1%BB%91ngH%C3%B4nNh%C3%A2n-377 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/Cuộc Sống Hôn Nhân/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/af/6a/af6a5a10252aef3e50f938e45911e24e489a376b591cfe6978a15ba1aa891e5c.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f6/ec/f6ec228661a07080191bcab9c24ce33d14db268403eed77e69ea94b653634faa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 09:20:45.607 [debug] Gracefully stopping file follower 09:20:45.608 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1756.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 (?)) [6] 09:20:45.609 [debug] QUERY OK source="sources" db=0.3ms idle=1757.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" = ?) [6] 09:20:45.613 [debug] QUERY OK source="media_items" db=3.8ms queue=0.1ms idle=1758.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-20 13:00:05Z], 6] 09:20:45.619 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=1581.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💡 Phụ nữ hiếm khi nói thẳng “em thích anh”… nhưng lại rất giỏi “bật đèn xanh” bằng những tín hiệu tinh tế.\nKhi đã có cảm tình, họ thường cố tình để lộ những dấu hiệu đặc biệt — chỉ cần tinh ý là bạn sẽ nhận ra ngay.\n\n💘 Vấn đề là: nhiều đàn ông lại bỏ lỡ cơ hội chỉ vì không hiểu những tín hiệu này.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 4 điều phụ nữ thường “cố tình” để lộ khi muốn bật đèn xanh\n👉 Vì sao họ không chủ động nói thẳng mà chọn cách kín đáo\n👉 Cách nhận biết và phản hồi khéo léo để không mất cơ hội\n\n⚠️ Rất nhiều người:\n❌ Nghĩ đó chỉ là hành động bình thường\n❌ Không dám tiến tới vì sợ hiểu nhầm\n❌ Để cơ hội trôi qua một cách đáng tiếc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn hiểu rõ tín hiệu tình cảm từ phụ nữ\n✔️ Ai từng thắc mắc: “Cô ấy có đang bật đèn xanh cho mình không?”\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 2 và số 4 là rõ ràng nhất nhưng dễ bị bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #batdenxanh #tamlyphunu #phunuthichban #dauhieuphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh", "83bdc5e1-bcda-4361-a2b5-3659bdeb9136", 903, false, "ZkpyRddZgU4", "https://www.youtube.com/watch?v=ZkpyRddZgU4", 1, "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", false, false, false, 6, [], 98, ~U[2026-04-20 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💡 Phụ nữ hiếm khi nói thẳng “em thích anh”… nhưng lại rất giỏi “bật đèn xanh” bằng những tín hiệu tinh tế.\nKhi đã có cảm tình, họ thường cố tình để lộ những dấu hiệu đặc biệt — chỉ cần tinh ý là bạn sẽ nhận ra ngay.\n\n💘 Vấn đề là: nhiều đàn ông lại bỏ lỡ cơ hội chỉ vì không hiểu những tín hiệu này.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 4 điều phụ nữ thường “cố tình” để lộ khi muốn bật đèn xanh\n👉 Vì sao họ không chủ động nói thẳng mà chọn cách kín đáo\n👉 Cách nhận biết và phản hồi khéo léo để không mất cơ hội\n\n⚠️ Rất nhiều người:\n❌ Nghĩ đó chỉ là hành động bình thường\n❌ Không dám tiến tới vì sợ hiểu nhầm\n❌ Để cơ hội trôi qua một cách đáng tiếc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn hiểu rõ tín hiệu tình cảm từ phụ nữ\n✔️ Ai từng thắc mắc: “Cô ấy có đang bật đèn xanh cho mình không?”\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 2 và số 4 là rõ ràng nhất nhưng dễ bị bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #batdenxanh #tamlyphunu #phunuthichban #dauhieuphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh", 903, false, "ZkpyRddZgU4", "https://www.youtube.com/watch?v=ZkpyRddZgU4", "/downloads/Cuộc Sống Hôn Nhân/2026-04-20 Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh/Phụ Nữ Sẽ Cố Tình Để Lộ 4 Điều Này Khi Muốn Bật Đèn Xanh [ZkpyRddZgU4].mp4", false, 6, ~U[2026-04-20 13:00:05Z]] 09:20:45.620 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=583.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" = ?) [6] 09:20:45.625 [debug] QUERY OK source="media_items" db=3.8ms queue=0.2ms idle=12.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-19 13:00:06Z], 6] 09:20:45.630 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=17.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động\nPhụ nữ có chồng vì sao vẫn có lúc rung động trước người đàn ông khác? Đâu là những hành động mập mờ tưởng chừng vô hại nhưng lại dễ khiến cảm xúc bị xáo trộn? Trong video này, bạn sẽ khám phá 7 hành động tinh tế của đàn ông có thể khiến phụ nữ đã có gia đình cảm thấy được quan tâm, thấu hiểu và dần nảy sinh rung động.\n\nTuy nhiên, ranh giới giữa quan tâm và vượt giới hạn là rất mong manh. Ông bà ta nói: “Lửa gần rơm lâu ngày cũng bén” – sự gần gũi nếu không kiểm soát sẽ dễ dẫn đến những hệ quả khó lường. Video không cổ xúy sai trái, mà giúp bạn hiểu rõ tâm lý – giữ vững giá trị – ứng xử đúng mực trong các mối quan hệ.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động", "94ef40fd-d0dc-4a4f-b0b7-acfae2dcec09", 1264, false, "FzWYJ7UhgeY", "https://www.youtube.com/watch?v=FzWYJ7UhgeY", 2, "/downloads/Cuộc Sống Hôn Nhân/2026-04-19 7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động/7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động [FzWYJ7UhgeY].mp4", false, false, false, 6, [], 98, ~U[2026-04-19 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động\nPhụ nữ có chồng vì sao vẫn có lúc rung động trước người đàn ông khác? Đâu là những hành động mập mờ tưởng chừng vô hại nhưng lại dễ khiến cảm xúc bị xáo trộn? Trong video này, bạn sẽ khám phá 7 hành động tinh tế của đàn ông có thể khiến phụ nữ đã có gia đình cảm thấy được quan tâm, thấu hiểu và dần nảy sinh rung động.\n\nTuy nhiên, ranh giới giữa quan tâm và vượt giới hạn là rất mong manh. Ông bà ta nói: “Lửa gần rơm lâu ngày cũng bén” – sự gần gũi nếu không kiểm soát sẽ dễ dẫn đến những hệ quả khó lường. Video không cổ xúy sai trái, mà giúp bạn hiểu rõ tâm lý – giữ vững giá trị – ứng xử đúng mực trong các mối quan hệ.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động", 1264, false, "FzWYJ7UhgeY", "https://www.youtube.com/watch?v=FzWYJ7UhgeY", "/downloads/Cuộc Sống Hôn Nhân/2026-04-19 7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động/7 Hành Động Mập Mờ Khiến Phụ Nữ Có Chồng Dễ Rung Động [FzWYJ7UhgeY].mp4", false, 6, ~U[2026-04-19 13:00:06Z]] 09:20:45.631 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=17.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" = ?) [6] 09:20:45.635 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=13.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-18 13:00:05Z], 6] 09:20:45.641 [debug] QUERY OK source="media_items" db=3.5ms queue=0.1ms idle=16.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!\nPhụ nữ hỏi vay tiền – nên cho hay từ chối? Đây là tình huống khiến nhiều đàn ông lúng túng, vì chỉ cần xử lý sai có thể “mất cả tiền lẫn tình”. Trong video này, bạn sẽ khám phá 7 câu trả lời khôn ngoan giúp bạn vừa giữ được tiền bạc, vừa giữ được sự tôn trọng và mối quan hệ.\n\nTừ cách nói khéo léo, tinh tế đến cách đặt giới hạn rõ ràng – tất cả đều dựa trên tâm lý thực tế trong các mối quan hệ. Ông bà ta có câu: “Tiền bạc phân minh, ái tình dứt khoát” – càng thân thiết, càng cần rõ ràng. Xem hết video để biết đâu là cách ứng xử khiến người khác nể phục thay vì khó chịu.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!", "86dce555-f7e9-4a8e-b521-103a88fa40a2", 953, false, "LTtMrtZnENo", "https://www.youtube.com/watch?v=LTtMrtZnENo", 3, "/downloads/Cuộc Sống Hôn Nhân/2026-04-18 Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!/Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này! [LTtMrtZnENo].mp4", false, false, false, 6, [], 98, ~U[2026-04-18 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!\nPhụ nữ hỏi vay tiền – nên cho hay từ chối? Đây là tình huống khiến nhiều đàn ông lúng túng, vì chỉ cần xử lý sai có thể “mất cả tiền lẫn tình”. Trong video này, bạn sẽ khám phá 7 câu trả lời khôn ngoan giúp bạn vừa giữ được tiền bạc, vừa giữ được sự tôn trọng và mối quan hệ.\n\nTừ cách nói khéo léo, tinh tế đến cách đặt giới hạn rõ ràng – tất cả đều dựa trên tâm lý thực tế trong các mối quan hệ. Ông bà ta có câu: “Tiền bạc phân minh, ái tình dứt khoát” – càng thân thiết, càng cần rõ ràng. Xem hết video để biết đâu là cách ứng xử khiến người khác nể phục thay vì khó chịu.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!", 953, false, "LTtMrtZnENo", "https://www.youtube.com/watch?v=LTtMrtZnENo", "/downloads/Cuộc Sống Hôn Nhân/2026-04-18 Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này!/Phụ Nữ Hỏi Vay Tiền? Đàn Ông Khôn Ngoan Sẽ Trả Lời 7 Câu Này! [LTtMrtZnENo].mp4", false, 6, ~U[2026-04-18 13:00:05Z]] 09:20:45.643 [debug] QUERY OK source="sources" db=0.9ms queue=0.3ms idle=16.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" = ?) [6] 09:20:45.647 [debug] QUERY OK source="media_items" db=3.2ms queue=0.2ms idle=14.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 13:00:06Z], 6] 09:20:45.652 [debug] QUERY OK source="media_items" db=2.8ms queue=0.2ms idle=16.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không\nLàm sao để biết một người phụ nữ có thật lòng với bạn hay không? Không cần những lời hứa hoa mỹ, chỉ qua những tình huống rất đơn giản trong cuộc sống hằng ngày, bạn vẫn có thể cảm nhận được sự chân thành. Trong video này, chúng ta sẽ cùng khám phá 5 phép thử nhẹ nhàng nhưng tinh tế giúp bạn hiểu rõ hơn về cảm xúc thật của cô ấy. Khi hiểu đúng, bạn sẽ tránh được những tổn thương không đáng có và xây dựng mối quan hệ bền vững hơn.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không", "7b290da8-a74b-4ddd-adbc-b92d84cb320a", 951, false, "_bKM6XB5-0E", "https://www.youtube.com/watch?v=_bKM6XB5-0E", 4, "/downloads/Cuộc Sống Hôn Nhân/2026-04-16 5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không/5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không [_bKM6XB5-0E].mp4", false, false, false, 6, [], 98, ~U[2026-04-16 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không\nLàm sao để biết một người phụ nữ có thật lòng với bạn hay không? Không cần những lời hứa hoa mỹ, chỉ qua những tình huống rất đơn giản trong cuộc sống hằng ngày, bạn vẫn có thể cảm nhận được sự chân thành. Trong video này, chúng ta sẽ cùng khám phá 5 phép thử nhẹ nhàng nhưng tinh tế giúp bạn hiểu rõ hơn về cảm xúc thật của cô ấy. Khi hiểu đúng, bạn sẽ tránh được những tổn thương không đáng có và xây dựng mối quan hệ bền vững hơn.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không", 951, false, "_bKM6XB5-0E", "https://www.youtube.com/watch?v=_bKM6XB5-0E", "/downloads/Cuộc Sống Hôn Nhân/2026-04-16 5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không/5 Phép Thử Đơn Giản Để Biết Phụ Nữ Có Thật Lòng Hay Không [_bKM6XB5-0E].mp4", false, 6, ~U[2026-04-16 13:00:06Z]] 09:20:45.654 [debug] QUERY OK source="sources" db=0.8ms queue=0.5ms idle=17.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" = ?) [6] 09:20:45.660 [debug] QUERY OK source="media_items" db=5.4ms queue=0.2ms idle=14.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-15 13:00:06Z], 6] 09:20:45.665 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=18.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!\nBạn có bao giờ tự hỏi: khi ở bên nhau, phụ nữ thực sự nghĩ gì nhưng lại không nói ra? Có những điều rất nhỏ thôi, nhưng lại ảnh hưởng lớn đến cảm xúc và sự gắn kết giữa hai người. Trong video này, chúng ta sẽ cùng khám phá 3 bí mật thầm kín mà đa số phụ nữ đều giữ trong lòng – không phải vì họ muốn giấu, mà vì đôi khi rất khó để nói thành lời. Hiểu được những điều này, bạn sẽ tinh tế hơn trong cách quan tâm và khiến mối quan hệ trở nên sâu sắc hơn mỗi ngày.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!", "d22721ed-43ac-4312-9b10-e7991be34c62", 1012, false, "xzPzqaUM8po", "https://www.youtube.com/watch?v=xzPzqaUM8po", 5, "/downloads/Cuộc Sống Hôn Nhân/2026-04-15 3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!/3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có! [xzPzqaUM8po].mp4", false, false, false, 6, [], 98, ~U[2026-04-15 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!\nBạn có bao giờ tự hỏi: khi ở bên nhau, phụ nữ thực sự nghĩ gì nhưng lại không nói ra? Có những điều rất nhỏ thôi, nhưng lại ảnh hưởng lớn đến cảm xúc và sự gắn kết giữa hai người. Trong video này, chúng ta sẽ cùng khám phá 3 bí mật thầm kín mà đa số phụ nữ đều giữ trong lòng – không phải vì họ muốn giấu, mà vì đôi khi rất khó để nói thành lời. Hiểu được những điều này, bạn sẽ tinh tế hơn trong cách quan tâm và khiến mối quan hệ trở nên sâu sắc hơn mỗi ngày.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!", 1012, false, "xzPzqaUM8po", "https://www.youtube.com/watch?v=xzPzqaUM8po", "/downloads/Cuộc Sống Hôn Nhân/2026-04-15 3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có!/3 Bí Mật Thầm Kín Của Phụ Nữ – Ngại Nói Nhưng Ai Cũng Có! [xzPzqaUM8po].mp4", false, 6, ~U[2026-04-15 13:00:06Z]] 09:20:45.667 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 09:20:45.671 [debug] QUERY OK source="media_items" db=3.1ms queue=0.2ms idle=16.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:05Z], 6] 09:20:45.675 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=18.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này\nNgoại tình không đơn giản là phản bội… mà đôi khi là bị cuốn vào những “ma lực” khó gọi tên. Có những cảm giác khiến phụ nữ một khi đã chạm vào thì rất dễ “nghiện”, càng giấu càng sâu. Điều đáng nói, thứ này không nằm ở tiền bạc hay nhan sắc như nhiều người vẫn nghĩ. Vậy rốt cuộc điều gì khiến họ say mê đến mức đánh đổi tất cả? Xem hết video để hiểu sự thật phía sau những rung động nguy hiểm này!\n\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này", "da332440-b183-4e46-b16d-711cd8178ab5", 961, false, "G6UOEDaLy1U", "https://www.youtube.com/watch?v=G6UOEDaLy1U", 6, "/downloads/Cuộc Sống Hôn Nhân/2026-04-14 100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này/100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này [G6UOEDaLy1U].mp4", false, false, false, 6, [], 98, ~U[2026-04-14 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này\nNgoại tình không đơn giản là phản bội… mà đôi khi là bị cuốn vào những “ma lực” khó gọi tên. Có những cảm giác khiến phụ nữ một khi đã chạm vào thì rất dễ “nghiện”, càng giấu càng sâu. Điều đáng nói, thứ này không nằm ở tiền bạc hay nhan sắc như nhiều người vẫn nghĩ. Vậy rốt cuộc điều gì khiến họ say mê đến mức đánh đổi tất cả? Xem hết video để hiểu sự thật phía sau những rung động nguy hiểm này!\n\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "100% Phụ Nữ Ngoại Tình Đều \"Nghiện\" Điều Này", 961, false, "G6UOEDaLy1U", "https://www.youtube.com/watch?v=G6UOEDaLy1U", "/downloads/Cuộc Sống Hôn Nhân/2026-04-14 100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này/100% Phụ Nữ Ngoại Tình Đều "Nghiện" Điều Này [G6UOEDaLy1U].mp4", false, 6, ~U[2026-04-14 13:00:05Z]] 09:20:45.677 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=15.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" = ?) [6] 09:20:45.681 [debug] QUERY OK source="media_items" db=2.9ms queue=0.3ms idle=13.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-13 13:00:06Z], 6] 09:20:45.684 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=14.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!\nKhông phải cứ thích là tán… mà phải đúng thời điểm! Có 4 khoảnh khắc “vàng” khiến phụ nữ dễ rung động và khó lòng từ chối. Biết được điều này, bạn sẽ đi nhanh hơn người khác một bước trong chuyện tình cảm. Xem ngay trước khi bạn bỏ lỡ cơ hội đáng giá nhất! \n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!", "12edcaf1-73c8-4392-88ef-7bf966e7212a", 961, false, "5PjjHtEoLsM", "https://www.youtube.com/watch?v=5PjjHtEoLsM", 7, "/downloads/Cuộc Sống Hôn Nhân/2026-04-13 4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!/4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối! [5PjjHtEoLsM].mp4", false, false, false, 6, [], 98, ~U[2026-04-13 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!\nKhông phải cứ thích là tán… mà phải đúng thời điểm! Có 4 khoảnh khắc “vàng” khiến phụ nữ dễ rung động và khó lòng từ chối. Biết được điều này, bạn sẽ đi nhanh hơn người khác một bước trong chuyện tình cảm. Xem ngay trước khi bạn bỏ lỡ cơ hội đáng giá nhất! \n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!", 961, false, "5PjjHtEoLsM", "https://www.youtube.com/watch?v=5PjjHtEoLsM", "/downloads/Cuộc Sống Hôn Nhân/2026-04-13 4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối!/4 Thời Điểm “Vàng” Khi Tán Tỉnh – Phụ Nữ Khó Mà Từ Chối! [5PjjHtEoLsM].mp4", false, 6, ~U[2026-04-13 13:00:06Z]] 09:20:45.686 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=13.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" = ?) [6] 09:20:45.688 [debug] QUERY OK source="media_items" db=2.1ms queue=0.1ms idle=10.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-12 13:00:26Z], 6] 09:20:45.692 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=12.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["❓ Đàn ông thường bị thu hút bởi vẻ ngoài… vậy phụ nữ thật sự “ham” điều gì ở đàn ông?\nSự thật là: 90% đàn ông đều đoán sai, vì thứ phụ nữ cần không nằm ở bề ngoài mà ở cảm xúc và cách bạn đối xử với họ.\n\n💡 Phụ nữ có thể bị ấn tượng bởi ngoại hình, nhưng để gắn bó lâu dài, họ lại “nghiêng lòng” vì sự tinh tế, an toàn và cảm giác được trân trọng.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Điều phụ nữ thực sự khao khát nhất ở đàn ông\n👉 Vì sao nhiều người hiểu sai nên mãi không thành công trong tình cảm\n👉 Những yếu tố giúp bạn trở nên hấp dẫn một cách tự nhiên\n\n⚠️ Rất nhiều đàn ông:\n❌ Nghĩ rằng chỉ cần ngoại hình hoặc tiền bạc\n❌ Không hiểu phụ nữ cần gì trong một mối quan hệ\n❌ Đánh mất cơ hội vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn hiểu phụ nữ sâu hơn\n✔️ Người đang tìm kiếm mối quan hệ bền vững\n✔️ Ai muốn tăng sức hút cá nhân\n\n📺 Xem đến cuối video để biết:\n👉 Điều quan trọng nhất mà phụ nữ “ham” lại là thứ ít ai ngờ tới.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!\n09:48 Tâm sự: Cam chịu cho vợ ngoại tình vì nghèo\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #phunuthichgi #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!", "067a7593-3677-4205-989c-0a56ed504ee3", 987, false, "oG1AHP4aCrc", "https://www.youtube.com/watch?v=oG1AHP4aCrc", 8, "/downloads/Cuộc Sống Hôn Nhân/2026-04-12 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!/Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai! [oG1AHP4aCrc].mp4", false, false, false, 6, [], 98, ~U[2026-04-12 13:00:26Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "❓ Đàn ông thường bị thu hút bởi vẻ ngoài… vậy phụ nữ thật sự “ham” điều gì ở đàn ông?\nSự thật là: 90% đàn ông đều đoán sai, vì thứ phụ nữ cần không nằm ở bề ngoài mà ở cảm xúc và cách bạn đối xử với họ.\n\n💡 Phụ nữ có thể bị ấn tượng bởi ngoại hình, nhưng để gắn bó lâu dài, họ lại “nghiêng lòng” vì sự tinh tế, an toàn và cảm giác được trân trọng.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Điều phụ nữ thực sự khao khát nhất ở đàn ông\n👉 Vì sao nhiều người hiểu sai nên mãi không thành công trong tình cảm\n👉 Những yếu tố giúp bạn trở nên hấp dẫn một cách tự nhiên\n\n⚠️ Rất nhiều đàn ông:\n❌ Nghĩ rằng chỉ cần ngoại hình hoặc tiền bạc\n❌ Không hiểu phụ nữ cần gì trong một mối quan hệ\n❌ Đánh mất cơ hội vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn hiểu phụ nữ sâu hơn\n✔️ Người đang tìm kiếm mối quan hệ bền vững\n✔️ Ai muốn tăng sức hút cá nhân\n\n📺 Xem đến cuối video để biết:\n👉 Điều quan trọng nhất mà phụ nữ “ham” lại là thứ ít ai ngờ tới.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!\n09:48 Tâm sự: Cam chịu cho vợ ngoại tình vì nghèo\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #phunuthichgi #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!", 987, false, "oG1AHP4aCrc", "https://www.youtube.com/watch?v=oG1AHP4aCrc", "/downloads/Cuộc Sống Hôn Nhân/2026-04-12 Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai!/Đàn Ông Ham Sắc, Phụ Nữ Ham Gì Nhất? 90% Đoán Sai! [oG1AHP4aCrc].mp4", false, 6, ~U[2026-04-12 13:00:26Z]] 09:20:45.694 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=12.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" = ?) [6] 09:20:45.697 [debug] QUERY OK source="media_items" db=2.3ms queue=0.2ms idle=10.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 13:00:06Z], 6] 09:20:45.701 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=11.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💔 Phụ nữ khi đã thay lòng, thường không nói ra… nhưng hành động thì rất khó che giấu.\nNhững thay đổi tưởng chừng nhỏ trong cách nói chuyện, quan tâm hay thái độ lại chính là dấu hiệu rõ ràng nhất.\n\n💡 Người xưa có câu: “Tình cảm đổi thay, ánh mắt cũng khác” — khi không còn như trước, mọi thứ sẽ dần lộ ra theo cách rất tự nhiên.\n\n📌 Trong video này, bạn sẽ nhận ra:\n👉 5 dấu hiệu rõ mồn một khi phụ nữ đã thay lòng\n👉 Vì sao họ ít nói thẳng mà thể hiện qua hành động\n👉 Cách nhận biết sớm để không rơi vào tổn thương sâu hơn\n\n⚠️ Rất nhiều người:\n❌ Không tin vào cảm nhận của bản thân\n❌ Bỏ qua những dấu hiệu rõ ràng\n❌ Đến khi mọi chuyện quá muộn mới nhận ra\n\n🎯 Video này dành cho:\n✔️ Người đang trong mối quan hệ tình cảm\n✔️ Cảm thấy đối phương có gì đó thay đổi\n✔️ Muốn hiểu rõ hơn tâm lý phụ nữ khi tình cảm phai nhạt\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 1 và số 4 là khó giấu nhất khi phụ nữ đã đổi lòng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n00:00 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một\n09:01 Tâm sự: Cay đắng khi chồng cho phép ngoại tình\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunuthaylong #tamlyphunu #dauhieuthaylong #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan #rannuttinhcam", "Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một", "cc617617-503e-4271-8cf9-a2496ca25e3b", 960, false, "Dfrlp52P5Po", "https://www.youtube.com/watch?v=Dfrlp52P5Po", 9, "/downloads/Cuộc Sống Hôn Nhân/2026-04-11 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một/Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một [Dfrlp52P5Po].mp4", false, false, false, 6, [], 98, ~U[2026-04-11 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💔 Phụ nữ khi đã thay lòng, thường không nói ra… nhưng hành động thì rất khó che giấu.\nNhững thay đổi tưởng chừng nhỏ trong cách nói chuyện, quan tâm hay thái độ lại chính là dấu hiệu rõ ràng nhất.\n\n💡 Người xưa có câu: “Tình cảm đổi thay, ánh mắt cũng khác” — khi không còn như trước, mọi thứ sẽ dần lộ ra theo cách rất tự nhiên.\n\n📌 Trong video này, bạn sẽ nhận ra:\n👉 5 dấu hiệu rõ mồn một khi phụ nữ đã thay lòng\n👉 Vì sao họ ít nói thẳng mà thể hiện qua hành động\n👉 Cách nhận biết sớm để không rơi vào tổn thương sâu hơn\n\n⚠️ Rất nhiều người:\n❌ Không tin vào cảm nhận của bản thân\n❌ Bỏ qua những dấu hiệu rõ ràng\n❌ Đến khi mọi chuyện quá muộn mới nhận ra\n\n🎯 Video này dành cho:\n✔️ Người đang trong mối quan hệ tình cảm\n✔️ Cảm thấy đối phương có gì đó thay đổi\n✔️ Muốn hiểu rõ hơn tâm lý phụ nữ khi tình cảm phai nhạt\n\n📺 Xem đến cuối video để biết:\n👉 Dấu hiệu số 1 và số 4 là khó giấu nhất khi phụ nữ đã đổi lòng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n00:00 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một\n09:01 Tâm sự: Cay đắng khi chồng cho phép ngoại tình\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunuthaylong #tamlyphunu #dauhieuthaylong #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeudoilua #tamlyhonnhan #rannuttinhcam", "Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một", 960, false, "Dfrlp52P5Po", "https://www.youtube.com/watch?v=Dfrlp52P5Po", "/downloads/Cuộc Sống Hôn Nhân/2026-04-11 Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một/Phụ Nữ Thay Lòng: 5 Dấu Hiệu Rõ Mồn Một [Dfrlp52P5Po].mp4", false, 6, ~U[2026-04-11 13:00:06Z]] 09:20:45.702 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=13.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" = ?) [6] 09:20:45.705 [debug] QUERY OK source="media_items" db=2.1ms queue=0.4ms idle=10.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-10 13:00:06Z], 6] 09:20:45.709 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=12.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này\nBạn có bao giờ thắc mắc vì sao có những câu hỏi tưởng chừng rất bình thường… nhưng lại khiến đàn ông “đứng ngồi không yên”?\nThực tế, khi cảm xúc vượt qua giới hạn, phụ nữ có chồng thường không nói thẳng, mà khéo léo “bật đèn xanh” qua những câu hỏi vu vơ, nhẹ nhàng nhưng đầy ẩn ý.\n\nVideo này sẽ hé lộ 4 câu hỏi điển hình mà nhiều người đàn ông từng nghe qua… nhưng không phải ai cũng đủ tinh ý để nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này", "a65e3caa-e38a-48fe-821b-8f0aecfd49aa", 959, false, "tJkTL66st4A", "https://www.youtube.com/watch?v=tJkTL66st4A", 10, "/downloads/Cuộc Sống Hôn Nhân/2026-04-10 Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này/Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này [tJkTL66st4A].mp4", false, false, false, 6, [], 98, ~U[2026-04-10 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này\nBạn có bao giờ thắc mắc vì sao có những câu hỏi tưởng chừng rất bình thường… nhưng lại khiến đàn ông “đứng ngồi không yên”?\nThực tế, khi cảm xúc vượt qua giới hạn, phụ nữ có chồng thường không nói thẳng, mà khéo léo “bật đèn xanh” qua những câu hỏi vu vơ, nhẹ nhàng nhưng đầy ẩn ý.\n\nVideo này sẽ hé lộ 4 câu hỏi điển hình mà nhiều người đàn ông từng nghe qua… nhưng không phải ai cũng đủ tinh ý để nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này", 959, false, "tJkTL66st4A", "https://www.youtube.com/watch?v=tJkTL66st4A", "/downloads/Cuộc Sống Hôn Nhân/2026-04-10 Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này/Phụ Nữ Có Chồng Muốn “Tòm Tem” Sẽ Hỏi 4 Câu Này [tJkTL66st4A].mp4", false, 6, ~U[2026-04-10 13:00:06Z]] 09:20:45.710 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=12.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" = ?) [6] 09:20:45.713 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=10.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 13:00:05Z], 6] 09:20:45.717 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=11.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!\nĐiều cuối cùng đàn ông thích nhất!\nTrong tình yêu, có những ranh giới mà phụ nữ luôn giữ kín – không phải vì lạnh lùng, mà vì họ chưa đủ tin tưởng. Nhưng một khi đã yêu sâu đậm, họ sẽ âm thầm “mở cửa” cho người đàn ông bước vào những khoảng riêng tư nhất.\n6 điều trong video này không phải ai cũng được thấy. Nếu bạn đã từng được cô ấy cho “chạm tới”, rất có thể bạn đang giữ một vị trí đặc biệt trong lòng cô ấy mà chính bạn cũng chưa nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!", "92c096b0-82ad-4f86-b003-5941869fbfb3", 825, false, "37Wknvim0gg", "https://www.youtube.com/watch?v=37Wknvim0gg", 11, "/downloads/Cuộc Sống Hôn Nhân/2026-04-09 6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!/6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu! [37Wknvim0gg].mp4", false, false, false, 6, [], 98, ~U[2026-04-09 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!\nĐiều cuối cùng đàn ông thích nhất!\nTrong tình yêu, có những ranh giới mà phụ nữ luôn giữ kín – không phải vì lạnh lùng, mà vì họ chưa đủ tin tưởng. Nhưng một khi đã yêu sâu đậm, họ sẽ âm thầm “mở cửa” cho người đàn ông bước vào những khoảng riêng tư nhất.\n6 điều trong video này không phải ai cũng được thấy. Nếu bạn đã từng được cô ấy cho “chạm tới”, rất có thể bạn đang giữ một vị trí đặc biệt trong lòng cô ấy mà chính bạn cũng chưa nhận ra.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!", 825, false, "37Wknvim0gg", "https://www.youtube.com/watch?v=37Wknvim0gg", "/downloads/Cuộc Sống Hôn Nhân/2026-04-09 6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu!/6 Chỗ Riêng Tư Phụ Nữ Không Bao Giờ Cho Xem… Trừ Khi Yêu Bạn Đến Rất Sâu! [37Wknvim0gg].mp4", false, 6, ~U[2026-04-09 13:00:05Z]] 09:20:45.718 [debug] QUERY OK source="sources" db=0.6ms queue=0.3ms idle=11.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" = ?) [6] 09:20:45.721 [debug] QUERY OK source="media_items" db=2.3ms idle=10.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-08 13:00:05Z], 6] 09:20:45.724 [debug] QUERY OK source="media_items" db=2.5ms idle=11.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!\nMuốn phụ nữ chung thủy cả đời, đàn ông không cần quá hoàn hảo, nhưng nhất định phải cho đủ 5 điều quan trọng này. Nhiều người vẫn nghĩ rằng chỉ cần tiền bạc hay kiểm soát là giữ được người phụ nữ bên cạnh, nhưng thực tế lại hoàn toàn khác. Có những thứ tưởng chừng đơn giản, lại chính là nền tảng khiến một người phụ nữ sẵn sàng gắn bó, hy sinh và không bao giờ rời xa.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!", "f0bce31d-8a01-4136-acf8-fc201aa182ca", 958, false, "uQwj5iHUovk", "https://www.youtube.com/watch?v=uQwj5iHUovk", 12, "/downloads/Cuộc Sống Hôn Nhân/2026-04-08 Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!/Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này! [uQwj5iHUovk].mp4", false, false, false, 6, [], 98, ~U[2026-04-08 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!\nMuốn phụ nữ chung thủy cả đời, đàn ông không cần quá hoàn hảo, nhưng nhất định phải cho đủ 5 điều quan trọng này. Nhiều người vẫn nghĩ rằng chỉ cần tiền bạc hay kiểm soát là giữ được người phụ nữ bên cạnh, nhưng thực tế lại hoàn toàn khác. Có những thứ tưởng chừng đơn giản, lại chính là nền tảng khiến một người phụ nữ sẵn sàng gắn bó, hy sinh và không bao giờ rời xa.\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!", 958, false, "uQwj5iHUovk", "https://www.youtube.com/watch?v=uQwj5iHUovk", "/downloads/Cuộc Sống Hôn Nhân/2026-04-08 Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này!/Muốn Phụ Nữ Chung Thủy Cả Đời? Đàn Ông Chỉ Cần Cho Đủ 5 Điều Này! [uQwj5iHUovk].mp4", false, 6, ~U[2026-04-08 13:00:05Z]] 09:20:45.726 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=12.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" = ?) [6] 09:20:45.730 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=10.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 13:00:05Z], 6] 09:20:45.740 [debug] QUERY OK source="media_items" db=8.7ms queue=0.1ms idle=12.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💖 Đời người đàn bà, có những thứ không phải ai cũng có thể chạm tới.\nChỉ khi yêu thật lòng, họ mới sẵn sàng trao đi những điều quý giá nhất — không phải vật chất, mà là cảm xúc và cả một phần cuộc đời.\n\n💡 Người xưa có câu: “Yêu là cho đi mà không cần nhận lại”, nhưng thực tế, khi phụ nữ đã cho bạn 3 điều này, nghĩa là họ đã tin tưởng và yêu bạn rất sâu đậm.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 3 điều quý giá nhất trong đời người phụ nữ\n👉 Vì sao họ không dễ dàng trao đi nếu chưa đủ tin tưởng\n👉 Dấu hiệu cho thấy bạn đang giữ một người phụ nữ thật lòng\n\n⚠️ Rất nhiều người:\n❌ Vô tình làm tổn thương người phụ nữ yêu mình\n❌ Không nhận ra giá trị của những điều đã được trao\n❌ Đến khi mất đi mới hiểu đó là điều quý giá nhất\n\n🎯 Video này dành cho:\n✔️ Người đang trong một mối quan hệ nghiêm túc\n✔️ Muốn hiểu sâu hơn tâm lý phụ nữ\n✔️ Ai trân trọng tình yêu và sự gắn bó lâu dài\n\n📺 Xem đến cuối video để biết:\n👉 Điều thứ 2 chính là thứ mà phụ nữ chỉ trao cho người họ yêu nhất.\n\n❤️ Nếu thấy video ý nghĩa:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và cuộc sống!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tinhyeu #phunuy e uthatlong #tinhcamnamnu #tamlytinhyeu #moiquanhe #camxucphunu #danongnenbiet #tinhyeudoilua #tamlyhonnhan #giatriphunu #tinhyeusautham", "Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!", "960bd74c-aafa-4625-8cf4-304cb2caeacd", 946, false, "l3L9NclkvCM", "https://www.youtube.com/watch?v=l3L9NclkvCM", 13, "/downloads/Cuộc Sống Hôn Nhân/2026-04-07 Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!/Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm! [l3L9NclkvCM].mp4", false, false, false, 6, [], 98, ~U[2026-04-07 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💖 Đời người đàn bà, có những thứ không phải ai cũng có thể chạm tới.\nChỉ khi yêu thật lòng, họ mới sẵn sàng trao đi những điều quý giá nhất — không phải vật chất, mà là cảm xúc và cả một phần cuộc đời.\n\n💡 Người xưa có câu: “Yêu là cho đi mà không cần nhận lại”, nhưng thực tế, khi phụ nữ đã cho bạn 3 điều này, nghĩa là họ đã tin tưởng và yêu bạn rất sâu đậm.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 3 điều quý giá nhất trong đời người phụ nữ\n👉 Vì sao họ không dễ dàng trao đi nếu chưa đủ tin tưởng\n👉 Dấu hiệu cho thấy bạn đang giữ một người phụ nữ thật lòng\n\n⚠️ Rất nhiều người:\n❌ Vô tình làm tổn thương người phụ nữ yêu mình\n❌ Không nhận ra giá trị của những điều đã được trao\n❌ Đến khi mất đi mới hiểu đó là điều quý giá nhất\n\n🎯 Video này dành cho:\n✔️ Người đang trong một mối quan hệ nghiêm túc\n✔️ Muốn hiểu sâu hơn tâm lý phụ nữ\n✔️ Ai trân trọng tình yêu và sự gắn bó lâu dài\n\n📺 Xem đến cuối video để biết:\n👉 Điều thứ 2 chính là thứ mà phụ nữ chỉ trao cho người họ yêu nhất.\n\n❤️ Nếu thấy video ý nghĩa:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và cuộc sống!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tinhyeu #phunuy e uthatlong #tinhcamnamnu #tamlytinhyeu #moiquanhe #camxucphunu #danongnenbiet #tinhyeudoilua #tamlyhonnhan #giatriphunu #tinhyeusautham", "Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!", 946, false, "l3L9NclkvCM", "https://www.youtube.com/watch?v=l3L9NclkvCM", "/downloads/Cuộc Sống Hôn Nhân/2026-04-07 Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm!/Đời Người Đàn Bà Có 3 Thứ Quý Giá Nhất – Nếu Cho Bạn Hết, Cô Ấy Đã Yêu Rất Sâu Đậm! [l3L9NclkvCM].mp4", false, 6, ~U[2026-04-07 13:00:05Z]] 09:20:45.741 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=19.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" = ?) [6] 09:20:45.744 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=17.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-06 13:00:06Z], 6] 09:20:45.749 [debug] QUERY OK source="media_items" db=3.2ms idle=18.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔍 Phụ nữ trung niên không còn thể hiện tình cảm một cách trực diện như thời trẻ.\nThay vào đó, họ thường “thử lòng” đàn ông bằng những hành động rất tinh tế — nếu không đủ tinh ý, bạn rất dễ hiểu sai.\n\n💡 Thực tế, những “thử thách” này không phải để làm khó, mà là cách họ đánh giá sự chân thành, bản lĩnh và mức độ quan tâm của bạn.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 hành động cho thấy phụ nữ trung niên đang thử thách bạn\n👉 Vì sao họ không nói thẳng mà chọn cách “kiểm tra” cảm xúc\n👉 Cách phản ứng thông minh để không mất điểm trong mắt họ\n\n⚠️ Rất nhiều người:\n❌ Hiểu sai và phản ứng tiêu cực\n❌ Nghĩ rằng phụ nữ khó hiểu\n❌ Đánh mất cơ hội chỉ vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu phụ nữ trung niên\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai từng thắc mắc: “Cô ấy đang thử mình hay thật lòng?”\n\n📺 Xem đến cuối video để biết:\n👉 Hành động số 2 và số 4 là “bẫy tâm lý” phổ biến nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!\n09:01 Tâm sự: Trung niên tìm lại được lửa yêu!\n\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunutrungnien #tamlyphunu #thulong #dauhieuphunutest #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!", "84740da3-0e26-4725-95d1-45f5826bad65", 834, false, "q2CiQBHPZGU", "https://www.youtube.com/watch?v=q2CiQBHPZGU", 14, "/downloads/Cuộc Sống Hôn Nhân/2026-04-06 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!/Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn! [q2CiQBHPZGU].mp4", false, false, false, 6, [], 98, ~U[2026-04-06 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "🔍 Phụ nữ trung niên không còn thể hiện tình cảm một cách trực diện như thời trẻ.\nThay vào đó, họ thường “thử lòng” đàn ông bằng những hành động rất tinh tế — nếu không đủ tinh ý, bạn rất dễ hiểu sai.\n\n💡 Thực tế, những “thử thách” này không phải để làm khó, mà là cách họ đánh giá sự chân thành, bản lĩnh và mức độ quan tâm của bạn.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 hành động cho thấy phụ nữ trung niên đang thử thách bạn\n👉 Vì sao họ không nói thẳng mà chọn cách “kiểm tra” cảm xúc\n👉 Cách phản ứng thông minh để không mất điểm trong mắt họ\n\n⚠️ Rất nhiều người:\n❌ Hiểu sai và phản ứng tiêu cực\n❌ Nghĩ rằng phụ nữ khó hiểu\n❌ Đánh mất cơ hội chỉ vì thiếu tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu phụ nữ trung niên\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai từng thắc mắc: “Cô ấy đang thử mình hay thật lòng?”\n\n📺 Xem đến cuối video để biết:\n👉 Hành động số 2 và số 4 là “bẫy tâm lý” phổ biến nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!\n09:01 Tâm sự: Trung niên tìm lại được lửa yêu!\n\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #phunutrungnien #tamlyphunu #thulong #dauhieuphunutest #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!", 834, false, "q2CiQBHPZGU", "https://www.youtube.com/watch?v=q2CiQBHPZGU", "/downloads/Cuộc Sống Hôn Nhân/2026-04-06 Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn!/Phụ Nữ Trung Niên Nếu Làm 5 Điều Này, 99% Là Đang Thử Thách Bạn! [q2CiQBHPZGU].mp4", false, 6, ~U[2026-04-06 13:00:06Z]] 09:20:45.751 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=20.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" = ?) [6] 09:20:45.754 [debug] QUERY OK source="media_items" db=2.5ms idle=12.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-05 13:00:06Z], 6] 09:20:45.759 [debug] QUERY OK source="media_items" db=3.7ms queue=0.1ms idle=13.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn\nVì sao có những người đàn ông chỉ cần xuất hiện cũng đủ khiến phụ nữ đã có gia đình phải chú ý, thậm chí “mê mẩn” khó rời mắt? Không phải vì họ giàu có hay quá điển trai, mà nằm ở những phẩm chất rất tinh tế trong cách cư xử, lời nói và khí chất.\nXem hết video để hiểu rõ đâu là điểm khiến phụ nữ bị cuốn hút, và liệu bạn có đang sở hữu một trong những yếu tố đó hay không!\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn", "eca86091-eba5-452a-a60b-c641c183008b", 828, false, "p4scQr8W5N0", "https://www.youtube.com/watch?v=p4scQr8W5N0", 15, "/downloads/Cuộc Sống Hôn Nhân/2026-04-05 5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn/5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn [p4scQr8W5N0].mp4", false, false, false, 6, [], 98, ~U[2026-04-05 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn\nVì sao có những người đàn ông chỉ cần xuất hiện cũng đủ khiến phụ nữ đã có gia đình phải chú ý, thậm chí “mê mẩn” khó rời mắt? Không phải vì họ giàu có hay quá điển trai, mà nằm ở những phẩm chất rất tinh tế trong cách cư xử, lời nói và khí chất.\nXem hết video để hiểu rõ đâu là điểm khiến phụ nữ bị cuốn hút, và liệu bạn có đang sở hữu một trong những yếu tố đó hay không!\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn", 828, false, "p4scQr8W5N0", "https://www.youtube.com/watch?v=p4scQr8W5N0", "/downloads/Cuộc Sống Hôn Nhân/2026-04-05 5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn/5 Kiểu Đàn Ông Hấp Dẫn Phụ Nữ Có Chồng Mê Mẩn [p4scQr8W5N0].mp4", false, 6, ~U[2026-04-05 13:00:06Z]] 09:20:45.761 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=15.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" = ?) [6] 09:20:45.764 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=12.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-04 13:00:06Z], 6] 09:20:45.768 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=13.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!\nPhụ nữ tuổi 50 – đã đi qua nửa đời người, trải đủ vui buồn, không còn sợ khổ, không còn quá bận tâm vật chất. Nhưng có một điều… lại khiến nhiều người ngại ngùng, thậm chí áp lực khi đối diện – đó chính là khi người chồng vẫn còn “muốn” như thuở ban đầu.\n\nVì sao lại như vậy?\nLiệu đó là sự thay đổi về tâm lý, sức khỏe, hay những nỗi niềm khó nói mà chỉ người trong cuộc mới hiểu?\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!", "447e4bb3-3832-4e76-87d1-0886369d25a6", 1074, false, "rt8OZBGePKo", "https://www.youtube.com/watch?v=rt8OZBGePKo", 16, "/downloads/Cuộc Sống Hôn Nhân/2026-04-04 Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!/Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này! [rt8OZBGePKo].mp4", false, false, false, 6, [], 98, ~U[2026-04-04 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!\nPhụ nữ tuổi 50 – đã đi qua nửa đời người, trải đủ vui buồn, không còn sợ khổ, không còn quá bận tâm vật chất. Nhưng có một điều… lại khiến nhiều người ngại ngùng, thậm chí áp lực khi đối diện – đó chính là khi người chồng vẫn còn “muốn” như thuở ban đầu.\n\nVì sao lại như vậy?\nLiệu đó là sự thay đổi về tâm lý, sức khỏe, hay những nỗi niềm khó nói mà chỉ người trong cuộc mới hiểu?\n\n💖 Nếu bạn thấy video này thú vị, đừng quên:\n✅ LIKE để ủng hộ mình nhé! 👍\n✅ SHARE để lan tỏa đến nhiều người hơn! 🔄\n✅ SUBSCRIBE kèm nút chuông 🔔 để không bỏ lỡ những video hấp dẫn tiếp theo!\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong", "Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!", 1074, false, "rt8OZBGePKo", "https://www.youtube.com/watch?v=rt8OZBGePKo", "/downloads/Cuộc Sống Hôn Nhân/2026-04-04 Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này!/Phụ Nữ Tuổi 50 Không Sợ Khổ… Chỉ Sợ Chồng Còn Muốn Điều Này! [rt8OZBGePKo].mp4", false, 6, ~U[2026-04-04 13:00:06Z]] 09:20:45.770 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=14.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" = ?) [6] 09:20:45.773 [debug] QUERY OK source="media_items" db=2.7ms queue=0.1ms idle=11.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-03 13:00:05Z], 6] 09:20:45.777 [debug] QUERY OK source="media_items" db=2.9ms queue=0.1ms idle=12.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👀 Trong 5 giây đầu tiên, phụ nữ đã có ấn tượng rất rõ về một người đàn ông.\nĐiều bất ngờ là: 90% đàn ông đều đoán sai thứ mà phụ nữ thực sự chú ý!\n\n💡 Không phải chỉ là ngoại hình hay tiền bạc, mà là những chi tiết rất nhỏ nhưng lại quyết định sức hút ngay từ lần gặp đầu tiên.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Phụ nữ thực sự nhìn gì ở đàn ông trong 5 giây đầu\n👉 Vì sao ấn tượng đầu tiên lại quan trọng đến vậy\n👉 Những yếu tố giúp bạn ghi điểm ngay lập tức\n\n⚠️ Rất nhiều đàn ông:\n❌ Tập trung sai thứ cần cải thiện\n❌ Bỏ qua những chi tiết nhỏ nhưng cực kỳ quan trọng\n❌ Mất cơ hội chỉ vì ấn tượng ban đầu không tốt\n\n🎯 Video này dành cho:\n✔️ Người muốn cải thiện sức hút cá nhân\n✔️ Đang chuẩn bị gặp gỡ hoặc hẹn hò\n✔️ Ai muốn hiểu rõ tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Yếu tố số 1 là thứ quyết định bạn có cơ hội hay không.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #andtuongbandau #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!", "b1b0858f-d205-4291-a19f-dcfd68c929a0", 806, false, "yt1_iHqBF6E", "https://www.youtube.com/watch?v=yt1_iHqBF6E", 17, "/downloads/Cuộc Sống Hôn Nhân/2026-04-03 Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!/Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai! [yt1_iHqBF6E].mp4", false, false, false, 6, [], 98, ~U[2026-04-03 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "👀 Trong 5 giây đầu tiên, phụ nữ đã có ấn tượng rất rõ về một người đàn ông.\nĐiều bất ngờ là: 90% đàn ông đều đoán sai thứ mà phụ nữ thực sự chú ý!\n\n💡 Không phải chỉ là ngoại hình hay tiền bạc, mà là những chi tiết rất nhỏ nhưng lại quyết định sức hút ngay từ lần gặp đầu tiên.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Phụ nữ thực sự nhìn gì ở đàn ông trong 5 giây đầu\n👉 Vì sao ấn tượng đầu tiên lại quan trọng đến vậy\n👉 Những yếu tố giúp bạn ghi điểm ngay lập tức\n\n⚠️ Rất nhiều đàn ông:\n❌ Tập trung sai thứ cần cải thiện\n❌ Bỏ qua những chi tiết nhỏ nhưng cực kỳ quan trọng\n❌ Mất cơ hội chỉ vì ấn tượng ban đầu không tốt\n\n🎯 Video này dành cho:\n✔️ Người muốn cải thiện sức hút cá nhân\n✔️ Đang chuẩn bị gặp gỡ hoặc hẹn hò\n✔️ Ai muốn hiểu rõ tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Yếu tố số 1 là thứ quyết định bạn có cơ hội hay không.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #andtuongbandau #danonghapdan #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tangsuckhut #tinhyeudoilua #tamlyhonnhan", "Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!", 806, false, "yt1_iHqBF6E", "https://www.youtube.com/watch?v=yt1_iHqBF6E", "/downloads/Cuộc Sống Hôn Nhân/2026-04-03 Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai!/Phụ Nữ Nhìn Gì Ở Đàn Ông Trong 5 Giây Đầu? 90% Đàn Ông Đoán Sai! [yt1_iHqBF6E].mp4", false, 6, ~U[2026-04-03 13:00:05Z]] 09:20:45.779 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=13.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" = ?) [6] 09:20:45.782 [debug] QUERY OK source="media_items" db=2.2ms idle=11.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-01 13:00:06Z], 6] 09:20:45.786 [debug] QUERY OK source="media_items" db=2.5ms queue=0.1ms idle=12.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💘 Không phải cứ theo đuổi nhiều là phụ nữ sẽ nhớ bạn — đôi khi chính cách bạn “xuất hiện đúng lúc, biến mất đúng thời điểm” mới khiến họ ám ảnh.\nSức hút thật sự nằm ở cảm xúc bạn tạo ra, không phải những gì bạn nói.\n\n💡 Đàn ông tinh tế biết rằng: phụ nữ thường nhớ nhất những người khiến họ chưa kịp có nhưng đã sợ mất.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Những cách đơn giản nhưng cực kỳ hiệu quả để khiến phụ nữ nhớ bạn\n👉 Vì sao tạo cảm xúc lại quan trọng hơn việc theo đuổi liên tục\n👉 Những sai lầm khiến bạn trở nên “quá dễ đoán” trong mắt phụ nữ\n\n⚠️ Rất nhiều người:\n❌ Nhắn tin quá nhiều khiến đối phương nhàm chán\n❌ Luôn sẵn sàng khiến bản thân mất giá trị\n❌ Không biết cách tạo sự tò mò và cảm xúc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn tăng sức hút cá nhân\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ khi rung động\n\n📺 Xem đến cuối video để biết:\n👉 Cách số 2 và số 5 là bí quyết khiến phụ nữ nhớ bạn lâu nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tangsuckhut #phununhoban #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát", "aaec9b8c-1e1e-41b1-afda-c79079fc104a", 814, false, "mb_FzNUsURE", "https://www.youtube.com/watch?v=mb_FzNUsURE", 18, "/downloads/Cuộc Sống Hôn Nhân/2026-04-01 Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát/Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát [mb_FzNUsURE].mp4", false, false, false, 6, [], 98, ~U[2026-04-01 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💘 Không phải cứ theo đuổi nhiều là phụ nữ sẽ nhớ bạn — đôi khi chính cách bạn “xuất hiện đúng lúc, biến mất đúng thời điểm” mới khiến họ ám ảnh.\nSức hút thật sự nằm ở cảm xúc bạn tạo ra, không phải những gì bạn nói.\n\n💡 Đàn ông tinh tế biết rằng: phụ nữ thường nhớ nhất những người khiến họ chưa kịp có nhưng đã sợ mất.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 Những cách đơn giản nhưng cực kỳ hiệu quả để khiến phụ nữ nhớ bạn\n👉 Vì sao tạo cảm xúc lại quan trọng hơn việc theo đuổi liên tục\n👉 Những sai lầm khiến bạn trở nên “quá dễ đoán” trong mắt phụ nữ\n\n⚠️ Rất nhiều người:\n❌ Nhắn tin quá nhiều khiến đối phương nhàm chán\n❌ Luôn sẵn sàng khiến bản thân mất giá trị\n❌ Không biết cách tạo sự tò mò và cảm xúc\n\n🎯 Video này dành cho:\n✔️ Người đang tìm hiểu một cô gái\n✔️ Muốn tăng sức hút cá nhân\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ khi rung động\n\n📺 Xem đến cuối video để biết:\n👉 Cách số 2 và số 5 là bí quyết khiến phụ nữ nhớ bạn lâu nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #tangsuckhut #phununhoban #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát", 814, false, "mb_FzNUsURE", "https://www.youtube.com/watch?v=mb_FzNUsURE", "/downloads/Cuộc Sống Hôn Nhân/2026-04-01 Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát/Cách Đơn Giản Để Phụ Nữ Luôn Nhớ Bạn Phát Điên và Khao Khát [mb_FzNUsURE].mp4", false, 6, ~U[2026-04-01 13:00:06Z]] 09:20:45.787 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=13.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" = ?) [6] 09:20:45.791 [debug] QUERY OK source="media_items" db=2.7ms queue=0.2ms idle=10.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 13:00:06Z], 6] 09:20:45.798 [debug] QUERY OK source="media_items" db=5.7ms queue=0.1ms idle=12.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💖 Không phải phụ nữ khó hiểu — chỉ là nhiều đàn ông chưa thật sự hiểu đúng điều họ cần.\nThực tế, chỉ cần nắm được 5 điều quan trọng này, bạn hoàn toàn có thể khiến bất kỳ người phụ nữ nào cảm thấy hài lòng và được trân trọng.\n\n💡 Phụ nữ không đòi hỏi quá nhiều, họ chỉ cần sự quan tâm đúng lúc, cảm xúc chân thành và cách bạn đối xử mỗi ngày.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 điều đàn ông nên biết để khiến phụ nữ hài lòng\n👉 Vì sao những điều tưởng nhỏ lại quyết định hạnh phúc lâu dài\n👉 Cách ứng xử giúp mối quan hệ luôn êm ấm và bền vững\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng phải có tiền mới giữ được phụ nữ\n❌ Bỏ qua cảm xúc và sự tinh tế trong giao tiếp\n❌ Đến khi mất đi mới nhận ra giá trị thật\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn cải thiện mối quan hệ\n✔️ Người đang yêu hoặc đã kết hôn\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là yếu tố quan trọng nhất nhưng nhiều người lại bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #danongnenbiet #tinhyeu #tamlytinhyeu #tinhcamnamnu #vochong #honnhan #moiquanhe #camxucphunu #tamlyhonnhan #hanhphucgiadinh #tinhyeudoilua", "Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này", "897cf668-4c83-407b-b199-c2afbd21367d", 809, false, "cZlCysNHZKo", "https://www.youtube.com/watch?v=cZlCysNHZKo", 19, "/downloads/Cuộc Sống Hôn Nhân/2026-03-31 Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này/Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này [cZlCysNHZKo].mp4", false, false, false, 6, [], 98, ~U[2026-03-31 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💖 Không phải phụ nữ khó hiểu — chỉ là nhiều đàn ông chưa thật sự hiểu đúng điều họ cần.\nThực tế, chỉ cần nắm được 5 điều quan trọng này, bạn hoàn toàn có thể khiến bất kỳ người phụ nữ nào cảm thấy hài lòng và được trân trọng.\n\n💡 Phụ nữ không đòi hỏi quá nhiều, họ chỉ cần sự quan tâm đúng lúc, cảm xúc chân thành và cách bạn đối xử mỗi ngày.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 5 điều đàn ông nên biết để khiến phụ nữ hài lòng\n👉 Vì sao những điều tưởng nhỏ lại quyết định hạnh phúc lâu dài\n👉 Cách ứng xử giúp mối quan hệ luôn êm ấm và bền vững\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng phải có tiền mới giữ được phụ nữ\n❌ Bỏ qua cảm xúc và sự tinh tế trong giao tiếp\n❌ Đến khi mất đi mới nhận ra giá trị thật\n\n🎯 Video này dành cho:\n✔️ Đàn ông muốn cải thiện mối quan hệ\n✔️ Người đang yêu hoặc đã kết hôn\n✔️ Ai muốn hiểu rõ hơn tâm lý phụ nữ\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là yếu tố quan trọng nhất nhưng nhiều người lại bỏ qua.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và hôn nhân!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #tamlyphunu #danongnenbiet #tinhyeu #tamlytinhyeu #tinhcamnamnu #vochong #honnhan #moiquanhe #camxucphunu #tamlyhonnhan #hanhphucgiadinh #tinhyeudoilua", "Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này", 809, false, "cZlCysNHZKo", "https://www.youtube.com/watch?v=cZlCysNHZKo", "/downloads/Cuộc Sống Hôn Nhân/2026-03-31 Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này/Bất Kỳ Đàn Bà Nào Cũng Hài Lòng Nếu Đàn Ông Biết 5 Điều Này [cZlCysNHZKo].mp4", false, 6, ~U[2026-03-31 13:00:06Z]] 09:20:45.799 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=16.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" = ?) [6] 09:20:45.803 [debug] QUERY OK source="media_items" db=2.6ms queue=0.2ms idle=14.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-30 13:00:06Z], 6] 09:20:45.807 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=16.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔥 Đàn ông tuổi 40 không còn cần phô trương — chỉ cần sở hữu những “điểm mạnh” này cũng đủ khiến phụ nữ bị thu hút.\nỞ độ tuổi này, sức hấp dẫn không nằm ở vẻ ngoài, mà nằm ở bản lĩnh, trải nghiệm và cách đối xử.\n\n💡 Thực tế cho thấy, đàn ông càng trưởng thành càng có sức hút riêng — nếu biết phát huy đúng điểm mạnh, bạn sẽ trở thành “cực phẩm” trong mắt phụ nữ mà không cần cố gắng quá nhiều.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 6 “điểm mạnh” khiến đàn ông tuổi 40 trở nên hấp dẫn đặc biệt\n👉 Vì sao phụ nữ trưởng thành lại bị thu hút bởi những phẩm chất này\n👉 Sự khác biệt giữa sức hút của đàn ông trẻ và đàn ông từng trải\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng qua 40 là mất sức hút\n❌ Chỉ tập trung vào vật chất mà quên phát triển bản thân\n❌ Không hiểu phụ nữ thực sự cần điều gì\n\n🎯 Video này dành cho:\n✔️ Đàn ông tuổi 40 muốn nâng cấp bản thân\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai tò mò: “Điều gì làm đàn ông trung niên trở nên cuốn hút?”\n\n📺 Xem đến cuối video để biết:\n👉 Điểm số 2 và số 6 là yếu tố khiến phụ nữ ấn tượng mạnh nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ\n14:14 Tâm sự: Đàn ông bước sang tuổi 40, có 3 đạo lý ở đời cần học\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #danong40 #danongtrungnien #suckhutdanong #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ", "bed89876-01d4-4b8d-8d75-969fa61a34c2", 1341, false, "uXaf_vico8E", "https://www.youtube.com/watch?v=uXaf_vico8E", 20, "/downloads/Cuộc Sống Hôn Nhân/2026-03-30 Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ/Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ [uXaf_vico8E].mp4", false, false, false, 6, [], 98, ~U[2026-03-30 13:00:06Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "🔥 Đàn ông tuổi 40 không còn cần phô trương — chỉ cần sở hữu những “điểm mạnh” này cũng đủ khiến phụ nữ bị thu hút.\nỞ độ tuổi này, sức hấp dẫn không nằm ở vẻ ngoài, mà nằm ở bản lĩnh, trải nghiệm và cách đối xử.\n\n💡 Thực tế cho thấy, đàn ông càng trưởng thành càng có sức hút riêng — nếu biết phát huy đúng điểm mạnh, bạn sẽ trở thành “cực phẩm” trong mắt phụ nữ mà không cần cố gắng quá nhiều.\n\n📌 Trong video này, bạn sẽ khám phá:\n👉 6 “điểm mạnh” khiến đàn ông tuổi 40 trở nên hấp dẫn đặc biệt\n👉 Vì sao phụ nữ trưởng thành lại bị thu hút bởi những phẩm chất này\n👉 Sự khác biệt giữa sức hút của đàn ông trẻ và đàn ông từng trải\n\n⚠️ Rất nhiều người:\n❌ Nghĩ rằng qua 40 là mất sức hút\n❌ Chỉ tập trung vào vật chất mà quên phát triển bản thân\n❌ Không hiểu phụ nữ thực sự cần điều gì\n\n🎯 Video này dành cho:\n✔️ Đàn ông tuổi 40 muốn nâng cấp bản thân\n✔️ Người muốn hiểu tâm lý phụ nữ trưởng thành\n✔️ Ai tò mò: “Điều gì làm đàn ông trung niên trở nên cuốn hút?”\n\n📺 Xem đến cuối video để biết:\n👉 Điểm số 2 và số 6 là yếu tố khiến phụ nữ ấn tượng mạnh nhất.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ\n14:14 Tâm sự: Đàn ông bước sang tuổi 40, có 3 đạo lý ở đời cần học\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #danong40 #danongtrungnien #suckhutdanong #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #tinhyeutrungnien #tamlyhonnhan", "Đàn ông tuổi 40: Nếu sở hữu 6 \"điểm to\" này, bạn chính là cực phẩm trong mắt phụ nữ", 1341, false, "uXaf_vico8E", "https://www.youtube.com/watch?v=uXaf_vico8E", "/downloads/Cuộc Sống Hôn Nhân/2026-03-30 Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ/Đàn ông tuổi 40: Nếu sở hữu 6 "điểm to" này, bạn chính là cực phẩm trong mắt phụ nữ [uXaf_vico8E].mp4", false, 6, ~U[2026-03-30 13:00:06Z]] 09:20:45.809 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=17.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" = ?) [6] 09:20:45.812 [debug] QUERY OK source="media_items" db=2.4ms queue=0.2ms idle=12.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 13:00:05Z], 6] 09:20:45.817 [debug] QUERY OK source="media_items" db=2.8ms queue=0.1ms idle=13.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","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" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💖 Mẹ đơn thân không cần những lời hứa hoa mỹ — họ cần sự chân thành và cảm giác an toàn.\nThực tế, để chinh phục một người phụ nữ từng trải qua đổ vỡ, bạn không cần quá phức tạp… chỉ cần đúng cách và đủ tinh tế.\n\n💡 Điều quan trọng nhất là: họ đã trải qua nhiều tổn thương, nên sẽ cẩn trọng hơn nhưng cũng trân trọng hơn nếu gặp đúng người.\n\n📌 Trong video này, bạn sẽ biết:\n👉 5 điều đơn giản nhưng cực kỳ hiệu quả để chinh phục mẹ đơn thân\n👉 Vì sao phụ nữ từng trải lại có tiêu chuẩn khác biệt\n👉 Những sai lầm đàn ông thường mắc phải khi tiếp cận họ\n\n⚠️ Rất nhiều người:\n❌ Quá vội vàng khiến đối phương mất niềm tin\n❌ Không hiểu hoàn cảnh và tâm lý của mẹ đơn thân\n❌ Bỏ lỡ cơ hội chỉ vì thiếu sự tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu mẹ đơn thân\n✔️ Người muốn hiểu tâm lý phụ nữ từng trải\n✔️ Ai muốn xây dựng mối quan hệ nghiêm túc và bền vững\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là chìa khóa quan trọng nhất để tạo được sự tin tưởng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này\n13:06 Tâm sự: Là mẹ đơn thân em cũng thèm đàn ông lắm!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #medonthan #phunutungtrai #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này", "c0f80cfd-191c-464e-9ac8-47aa79302347", 1167, false, "TljrS3dA5m0", "https://www.youtube.com/watch?v=TljrS3dA5m0", 21, "/downloads/Cuộc Sống Hôn Nhân/2026-03-28 Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này/Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này [TljrS3dA5m0].mp4", false, false, false, 6, [], 98, ~U[2026-03-28 13:00:05Z], ~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], "💖 Mẹ đơn thân không cần những lời hứa hoa mỹ — họ cần sự chân thành và cảm giác an toàn.\nThực tế, để chinh phục một người phụ nữ từng trải qua đổ vỡ, bạn không cần quá phức tạp… chỉ cần đúng cách và đủ tinh tế.\n\n💡 Điều quan trọng nhất là: họ đã trải qua nhiều tổn thương, nên sẽ cẩn trọng hơn nhưng cũng trân trọng hơn nếu gặp đúng người.\n\n📌 Trong video này, bạn sẽ biết:\n👉 5 điều đơn giản nhưng cực kỳ hiệu quả để chinh phục mẹ đơn thân\n👉 Vì sao phụ nữ từng trải lại có tiêu chuẩn khác biệt\n👉 Những sai lầm đàn ông thường mắc phải khi tiếp cận họ\n\n⚠️ Rất nhiều người:\n❌ Quá vội vàng khiến đối phương mất niềm tin\n❌ Không hiểu hoàn cảnh và tâm lý của mẹ đơn thân\n❌ Bỏ lỡ cơ hội chỉ vì thiếu sự tinh tế\n\n🎯 Video này dành cho:\n✔️ Đàn ông đang tìm hiểu mẹ đơn thân\n✔️ Người muốn hiểu tâm lý phụ nữ từng trải\n✔️ Ai muốn xây dựng mối quan hệ nghiêm túc và bền vững\n\n📺 Xem đến cuối video để biết:\n👉 Điều số 2 và số 5 là chìa khóa quan trọng nhất để tạo được sự tin tưởng.\n\n❤️ Nếu thấy video hữu ích:\n👍 Like – 💬 Bình luận – 🔔 Đăng ký kênh để xem thêm nhiều nội dung về tâm lý, tình yêu và mối quan hệ!\n\n00:00 Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này\n13:06 Tâm sự: Là mẹ đơn thân em cũng thèm đàn ông lắm!\n\n💖 Hình ảnh bìa chỉ mang tính chất minh họa, không nhằm công kích, ám chỉ bất cứ cá nhân, tổ chức nào. Trân trọng!\n💬 Bản quyền audio thuộc về Kênh, các bạn vui lòng không reup, mình không nhân nhượng nếu phát hiện nha!\n\n🎥 Cảm ơn bạn đã xem! Hãy để lại ý kiến của bạn dưới phần bình luận nhé! \n\n#TamLyPhuNu #NgoaiTinh #TamLyHoc #HonNhanGiaDinh #TinhYeuHanhPhuc #GocKhuatHonNhan #PhuNu #ChuyenNgoaiTinh #TamLyCuocSong #medonthan #phunutungtrai #tamlyphunu #tinhyeu #tamlytinhyeu #tinhcamnamnu #danongnenbiet #moiquanhe #camxucphunu #phunurungdong #tinhyeudoilua #tamlyhonnhan", "Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này", 1167, false, "TljrS3dA5m0", "https://www.youtube.com/watch?v=TljrS3dA5m0", "/downloads/Cuộc Sống Hôn Nhân/2026-03-28 Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này/Chinh Phục Mẹ Đơn Thân Chỉ Cần 5 Điều Đơn Giản Này [TljrS3dA5m0].mp4", false, 6, ~U[2026-03-28 13:00:05Z]] 09:20:45.818 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=14.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-21 07:20:45Z], ~U[2026-04-21 07:20:45Z], 6] 09:20:45.821 [debug] QUERY OK source="media_items" db=2.4ms queue=0.1ms idle=12.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 ((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")))) [6] 09:20:45.825 [debug] QUERY OK source="media_items" db=2.5ms idle=12.8ms 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")))) [6] 09:20:45.826 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=12.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 09:20:45.826 [info] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Cuộc Sống Hôn Nhân. Downloading them now ntalk://tuan:bLzZ2-r6gm8-yqLfm-fsr3J-aSTEJ@nextcloud.luong.tel/6nnffq97 09:20:47.107 [error] [command_wrapper]: /usr/local/bin/apprise called with: --verbose --title [Pinchflat] New media found --body Found 1 new media item(s) for Cuộc Sống Hôn Nhân. Downloading them now ntalk://tuan:bLzZ2-r6gm8-yqLfm-fsr3J-aSTEJ@nextcloud.luong.tel/6nnffq97 exited: 1 with: 2026-04-21 09:20:46,881 - ERROR - Unparseable URL ntalk://tuan:b...J@n...l/6nnffq97 You must specify at least one server URL or populated configuration file. Try 'apprise --help' for more information. 09:20:47.107 [error] Failed to send new media notification for source 6: 2026-04-21 09:20:46,881 - ERROR - Unparseable URL ntalk://tuan:b...J@n...l/6nnffq97 You must specify at least one server URL or populated configuration file. Try 'apprise --help' for more information. 09:20:47.112 [debug] QUERY OK source="tasks" db=1.5ms idle=259.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8900, 6, ~U[2026-04-21 07:20:47Z], ~U[2026-04-21 07:20:47Z]] 09:20:47.113 [info] {"args":{"id":6},"id":8894,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":98314176,"event":"job:stop","queue_time":905819,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 09:20:54.178 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.412 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:24.179 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:54.181 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.413 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:24.183 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:54.185 [info] {"source":"oban","duration":1000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.414 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:24.187 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:54.190 [info] {"source":"oban","duration":1511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.415 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:24.191 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:54.193 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.416 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:24.195 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:54.197 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.417 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:24.199 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:54.201 [info] {"source":"oban","duration":1008,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.418 [info] {"source":"oban","duration":474,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:24.203 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:54.205 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.419 [info] {"source":"oban","duration":933,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:24.207 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:54.210 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.421 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:24.211 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:54.213 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.422 [info] {"source":"oban","duration":386,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:24.215 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:54.217 [info] {"source":"oban","duration":1177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.423 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:24.219 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:54.221 [info] {"source":"oban","duration":1143,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.424 [info] {"source":"oban","duration":394,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:24.223 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:54.225 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.425 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:24.227 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:54.230 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.426 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:24.231 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:54.233 [info] {"source":"oban","duration":1059,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.427 [info] {"source":"oban","duration":278,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:24.236 [info] {"source":"oban","duration":1174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:54.237 [info] {"source":"oban","duration":1078,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.428 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:24.239 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:54.241 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.429 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:24.244 [info] {"source":"oban","duration":1420,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:54.245 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.430 [info] {"source":"oban","duration":437,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:24.247 [info] {"source":"oban","duration":1044,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:54.250 [info] {"source":"oban","duration":1825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.432 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:24.252 [info] {"source":"oban","duration":1006,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:54.254 [info] {"source":"oban","duration":1137,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.433 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:40:24.256 [info] {"source":"oban","duration":1043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:54.258 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.434 [info] {"source":"oban","duration":313,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:24.260 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:54.262 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.435 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:24.264 [info] {"source":"oban","duration":980,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:54.266 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.436 [info] {"source":"oban","duration":330,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:24.268 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:54.270 [info] {"source":"oban","duration":1023,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.437 [info] {"source":"oban","duration":404,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:24.272 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:54.274 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.438 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:24.277 [info] {"source":"oban","duration":1208,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:54.278 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.439 [info] {"source":"oban","duration":437,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:24.280 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:54.283 [info] {"source":"oban","duration":1533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.440 [info] {"source":"oban","duration":299,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:24.284 [info] {"source":"oban","duration":981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:54.286 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.441 [info] {"source":"oban","duration":311,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:24.288 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:54.290 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.442 [info] {"source":"oban","duration":277,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:24.292 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:54.294 [info] {"source":"oban","duration":1163,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.443 [info] {"source":"oban","duration":263,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:24.297 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:54.299 [info] {"source":"oban","duration":1637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.444 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:24.301 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:54.303 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.445 [info] {"source":"oban","duration":456,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:24.305 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:54.307 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.446 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:24.309 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:54.311 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.447 [info] {"source":"oban","duration":460,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:24.313 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:54.315 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.448 [info] {"source":"oban","duration":398,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:24.317 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:54.319 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.449 [info] {"source":"oban","duration":410,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:24.321 [info] {"source":"oban","duration":1075,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:54.324 [info] {"source":"oban","duration":1442,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.450 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:24.325 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:54.327 [info] {"source":"oban","duration":1063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.451 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:24.330 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:54.331 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.452 [info] {"source":"oban","duration":361,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:24.333 [info] {"source":"oban","duration":1043,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:54.335 [info] {"source":"oban","duration":1228,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.453 [info] {"source":"oban","duration":293,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:24.337 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:54.339 [info] {"source":"oban","duration":1100,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.454 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:24.342 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:54.344 [info] {"source":"oban","duration":1021,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.455 [info] {"source":"oban","duration":317,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:24.346 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:54.348 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.456 [info] {"source":"oban","duration":348,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:24.350 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:54.352 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.458 [info] {"source":"oban","duration":434,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:24.354 [info] {"source":"oban","duration":934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:54.356 [info] {"source":"oban","duration":1003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.460 [info] {"source":"oban","duration":550,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:24.358 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:54.361 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.462 [info] {"source":"oban","duration":369,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:24.362 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:54.364 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.463 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:24.366 [info] {"source":"oban","duration":1051,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:54.368 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.464 [info] {"source":"oban","duration":342,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:24.370 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:54.373 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.466 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:24.374 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:54.376 [info] {"source":"oban","duration":907,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.467 [info] {"source":"oban","duration":412,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:24.378 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:54.380 [info] {"source":"oban","duration":992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.468 [info] {"source":"oban","duration":620,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:24.385 [info] {"source":"oban","duration":3246,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 10:11:54.403 [info] {"source":"oban","duration":18090,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":2} 10:12:00.470 [info] {"source":"oban","duration":336,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:24.405 [info] {"source":"oban","duration":1155,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:54.407 [info] {"source":"oban","duration":1167,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.471 [info] {"source":"oban","duration":454,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:24.410 [info] {"source":"oban","duration":1742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:54.412 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.472 [info] {"source":"oban","duration":312,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:24.414 [info] {"source":"oban","duration":1113,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:54.416 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.473 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:24.418 [info] {"source":"oban","duration":904,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:54.420 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.474 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:24.422 [info] {"source":"oban","duration":998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:54.424 [info] {"source":"oban","duration":1029,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.475 [info] {"source":"oban","duration":373,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:24.426 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:54.429 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.476 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:24.430 [info] {"source":"oban","duration":1073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:54.432 [info] {"source":"oban","duration":966,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.477 [info] {"source":"oban","duration":354,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:24.434 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:54.436 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.478 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:24.439 [info] {"source":"oban","duration":1125,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:54.441 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.481 [info] {"source":"oban","duration":476,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:24.443 [info] {"source":"oban","duration":1245,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:54.444 [info] {"source":"oban","duration":1205,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.482 [info] {"source":"oban","duration":376,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:24.446 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:54.448 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.483 [info] {"source":"oban","duration":389,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:24.450 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:54.452 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.484 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:24.454 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:54.456 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.485 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:24.458 [info] {"source":"oban","duration":1030,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:54.460 [info] {"source":"oban","duration":1061,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.486 [info] {"source":"oban","duration":306,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:24.467 [info] {"source":"oban","duration":4520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:54.468 [info] {"source":"oban","duration":1005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.487 [info] {"source":"oban","duration":476,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:24.470 [info] {"source":"oban","duration":957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:54.472 [info] {"source":"oban","duration":1104,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.488 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:24.474 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:54.476 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.489 [info] {"source":"oban","duration":394,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:24.478 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:54.480 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.490 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:24.482 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:54.485 [info] {"source":"oban","duration":1259,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.491 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:24.486 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:54.488 [info] {"source":"oban","duration":1109,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.492 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:24.490 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:54.492 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.494 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:24.494 [info] {"source":"oban","duration":942,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:54.497 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.495 [info] {"source":"oban","duration":682,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:24.498 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:54.500 [info] {"source":"oban","duration":996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.497 [info] {"source":"oban","duration":400,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:24.502 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:54.504 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.498 [info] {"source":"oban","duration":399,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:24.506 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:54.508 [info] {"source":"oban","duration":1101,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.503 [info] {"source":"oban","duration":3159,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:24.510 [info] {"source":"oban","duration":1010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:54.512 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.505 [info] {"source":"oban","duration":765,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:24.514 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:54.516 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.507 [info] {"source":"oban","duration":291,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:24.518 [info] {"source":"oban","duration":1042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:54.520 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.508 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:24.522 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:54.524 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.509 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:24.526 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:54.528 [info] {"source":"oban","duration":1039,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.510 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:24.531 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:54.532 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.511 [info] {"source":"oban","duration":267,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:24.534 [info] {"source":"oban","duration":992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:54.536 [info] {"source":"oban","duration":937,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.512 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:24.538 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:54.540 [info] {"source":"oban","duration":1016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.513 [info] {"source":"oban","duration":302,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:24.542 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:54.544 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.514 [info] {"source":"oban","duration":286,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:24.546 [info] {"source":"oban","duration":1111,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:54.550 [info] {"source":"oban","duration":2292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.515 [info] {"source":"oban","duration":380,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:24.551 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:54.553 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.516 [info] {"source":"oban","duration":287,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:24.555 [info] {"source":"oban","duration":1081,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:54.557 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.517 [info] {"source":"oban","duration":343,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:24.559 [info] {"source":"oban","duration":971,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:54.561 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.518 [info] {"source":"oban","duration":375,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:24.563 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:54.565 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.519 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:24.567 [info] {"source":"oban","duration":1025,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:54.569 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.520 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:24.571 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:54.573 [info] {"source":"oban","duration":1103,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.521 [info] {"source":"oban","duration":395,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:24.575 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:54.577 [info] {"source":"oban","duration":1089,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.522 [info] {"source":"oban","duration":445,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:24.579 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:54.582 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.523 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:24.583 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:54.586 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.524 [info] {"source":"oban","duration":429,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:24.587 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:54.589 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.525 [info] {"source":"oban","duration":337,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:24.591 [info] {"source":"oban","duration":913,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:54.593 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.526 [info] {"source":"oban","duration":279,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:24.595 [info] {"source":"oban","duration":984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:54.597 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.527 [info] {"source":"oban","duration":316,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:24.599 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:54.601 [info] {"source":"oban","duration":1154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.528 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:24.603 [info] {"source":"oban","duration":1068,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:54.605 [info] {"source":"oban","duration":1007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.534 [info] {"source":"oban","duration":4947,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:24.607 [info] {"source":"oban","duration":1147,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:54.609 [info] {"source":"oban","duration":901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.536 [info] {"source":"oban","duration":413,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:24.611 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:54.613 [info] {"source":"oban","duration":1080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.537 [info] {"source":"oban","duration":322,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:24.616 [info] {"source":"oban","duration":1236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:54.617 [info] {"source":"oban","duration":1003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.538 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:24.619 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:54.622 [info] {"source":"oban","duration":1798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.539 [info] {"source":"oban","duration":475,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:24.624 [info] {"source":"oban","duration":1144,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:54.626 [info] {"source":"oban","duration":948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.541 [info] {"source":"oban","duration":657,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:24.628 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:54.631 [info] {"source":"oban","duration":1480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.543 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:24.632 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:54.634 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.544 [info] {"source":"oban","duration":308,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:24.636 [info] {"source":"oban","duration":1214,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:54.638 [info] {"source":"oban","duration":926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.545 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:24.641 [info] {"source":"oban","duration":1771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:54.644 [info] {"source":"oban","duration":1646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.546 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:24.646 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:54.648 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.547 [info] {"source":"oban","duration":323,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:24.650 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:54.652 [info] {"source":"oban","duration":995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.548 [info] {"source":"oban","duration":309,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:24.654 [info] {"source":"oban","duration":911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:54.656 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.549 [info] {"source":"oban","duration":440,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:24.658 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:54.660 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.551 [info] {"source":"oban","duration":448,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:24.662 [info] {"source":"oban","duration":922,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:54.665 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.552 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:24.666 [info] {"source":"oban","duration":933,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:54.668 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.553 [info] {"source":"oban","duration":556,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:24.672 [info] {"source":"oban","duration":2102,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:54.673 [info] {"source":"oban","duration":935,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.555 [info] {"source":"oban","duration":344,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:24.675 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:54.677 [info] {"source":"oban","duration":1080,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.556 [info] {"source":"oban","duration":463,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:24.680 [info] {"source":"oban","duration":1419,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:54.681 [info] {"source":"oban","duration":1017,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.557 [info] {"source":"oban","duration":530,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:24.683 [info] {"source":"oban","duration":988,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:54.685 [info] {"source":"oban","duration":1169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.559 [info] {"source":"oban","duration":401,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:24.688 [info] {"source":"oban","duration":1653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:54.690 [info] {"source":"oban","duration":941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.560 [info] {"source":"oban","duration":327,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:24.692 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:54.694 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.561 [info] {"source":"oban","duration":355,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:24.696 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:54.698 [info] {"source":"oban","duration":910,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.563 [info] {"source":"oban","duration":339,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:24.700 [info] {"source":"oban","duration":985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:54.702 [info] {"source":"oban","duration":1041,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.564 [info] {"source":"oban","duration":274,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:24.705 [info] {"source":"oban","duration":1754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:54.709 [info] {"source":"oban","duration":2226,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.566 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:24.710 [info] {"source":"oban","duration":931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:54.712 [info] {"source":"oban","duration":1047,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.567 [info] {"source":"oban","duration":338,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:24.714 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:54.717 [info] {"source":"oban","duration":1964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.568 [info] {"source":"oban","duration":351,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:24.719 [info] {"source":"oban","duration":997,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:54.721 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.569 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:24.723 [info] {"source":"oban","duration":961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:54.725 [info] {"source":"oban","duration":1082,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.570 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:24.727 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:54.730 [info] {"source":"oban","duration":1260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.571 [info] {"source":"oban","duration":462,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:21.038 [info] GET /sources/12/media/16489/force_download 11:30:21.040 [debug] QUERY OK source="settings" db=0.3ms idle=1022.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:21.040 [debug] QUERY OK source="settings" db=0.6ms idle=1023.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:21.041 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:30:21.041 [error] #PID<0.70179.0> running PinchflatWeb.Endpoint (connection #PID<0.70178.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /sources/12/media/16489/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/12/media/16489/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/media/16489/force_download", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49508}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70179.0>, params: %{}, path_info: ["sources", "12", "media", "16489", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sources/12/media/16489/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKhVSBLJKYQV4UkAAawE"} ], 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.70178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/media/16489/force_download", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49508}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/12/media/16489/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70178.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/media/16489/force_download", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49508}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70179.0>, params: %{}, path_info: ["sources", "12", "media", "16489", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request (truncated) 11:30:21.537 [info] GET /sources/12/sync_files_on_disk 11:30:21.538 [debug] QUERY OK source="settings" db=0.2ms idle=1520.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:30:21.538 [debug] QUERY OK source="settings" db=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 [] 11:30:21.538 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:30:21.539 [error] #PID<0.70181.0> running PinchflatWeb.Endpoint (connection #PID<0.70180.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /sources/12/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/12/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70180.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/sync_files_on_disk", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49524}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70181.0>, params: %{}, path_info: ["sources", "12", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sources/12/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKhVSDCAuyz8CV0AAaxE"} ], 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.70180.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/sync_files_on_disk", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49524}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/12/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70180.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/12/sync_files_on_disk", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49524}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70181.0>, params: %{}, path_info: ["sources", "12", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sources/12/sync_files_on_disk", resp_body: nil, resp_co (truncated) 11:30:24.731 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:54.733 [info] {"source":"oban","duration":1095,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.572 [info] {"source":"oban","duration":340,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:24.735 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:54.737 [info] {"source":"oban","duration":1037,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.573 [info] {"source":"oban","duration":297,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:24.739 [info] {"source":"oban","duration":967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:54.741 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.574 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:24.744 [info] {"source":"oban","duration":1563,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:54.745 [info] {"source":"oban","duration":915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.575 [info] {"source":"oban","duration":329,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:24.747 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:42.968 [info] GET /media/62816725-223b-47fc-a595-395f50638bb4/stream 11:34:42.969 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "62816725-223b-47fc-a595-395f50638bb4"} Pipelines: [:maybe_basic_auth] 11:34:42.970 [debug] QUERY OK source="media_items" db=0.6ms idle=948.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" = ?) ["62816725-223b-47fc-a595-395f50638bb4"] 11:34:42.970 [debug] Invalid range request for media item: 62816725-223b-47fc-a595-395f50638bb4 - serving full file 11:34:42.970 [info] Sent 200 in 1ms 11:34:54.750 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.576 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:24.751 [info] {"source":"oban","duration":1003,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:54.754 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:55.034 [info] GET /sources/7/force_redownload 11:35:55.035 [debug] QUERY OK source="settings" db=0.2ms idle=1014.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:55.035 [debug] QUERY OK source="settings" db=0.1ms idle=1014.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:35:55.035 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:35:55.036 [error] #PID<0.70216.0> running PinchflatWeb.Endpoint (connection #PID<0.70215.0>, stream id 1) terminated Server: pinchflat.luong.tel:80 (http) Request: GET /sources/7/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/7/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_redownload", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49806}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70216.0>, params: %{}, path_info: ["sources", "7", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sources/7/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKhVldZ6wdXzlHcAAa7E"} ], 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.70215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_redownload", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49806}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/7/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.70215.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/7/force_redownload", host: "pinchflat.luong.tel", peer: {{172, 16, 144, 1}, 49806}, bindings: %{}, sock: {{172, 16, 144, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.luong.tel", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.44", "x-forwarded-proto" => "https", "x-forwarded-scheme" => "https", "x-real-ip" => "216.73.217.44" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", host_info: :undefined, streamid: 1, has_body: false }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.luong.tel", method: "GET", owner: #PID<0.70216.0>, params: %{}, path_info: ["sources", "7", "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://pinchflat.luong.tel", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 16, 144, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.luong.tel"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.44"}, {"x-forwarded-proto", "https"}, {"x-forwarded-scheme", "https"}, {"x-real-ip", "216.73.217.44"} ], request_path: "/sources/7/force_redownload", resp_body: nil, resp_cookies: %{}, resp_hea (truncated) 11:36:00.577 [info] {"source":"oban","duration":352,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:24.755 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:54.758 [info] {"source":"oban","duration":1807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.578 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:24.760 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}